From: Thomas Debesse Date: Fri, 22 May 2020 12:58:11 +0000 (+0200) Subject: radiant/texwindow: test .wad file extension case-insensitively on all systems, fix... X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=32dc1da26645b97a5823ff22175000542225c6dd;p=xonotic%2Fnetradiant.git radiant/texwindow: test .wad file extension case-insensitively on all systems, fix #139 --- diff --git a/libs/os/path.h b/libs/os/path.h index a3db167c..9cbbc2b1 100644 --- a/libs/os/path.h +++ b/libs/os/path.h @@ -72,6 +72,12 @@ inline bool path_equal( const char* path, const char* other ){ #endif } +/// \brief Returns true if \p path and \p other refer to the same file or directory, case insensitively. +/// O(n) +inline bool path_equal_i( const char* path, const char* other ){ + return string_equal_nocase( path, other ); +} + /// \brief Returns true if the first \p n bytes of \p path and \p other form paths that refer to the same file or directory. /// If the paths are UTF-8 encoded, [\p path, \p path + \p n) must be a complete path. /// O(n) @@ -175,6 +181,12 @@ inline bool extension_equal( const char* extension, const char* other ){ return path_equal( extension, other ); } +/// \brief Returns true if \p extension is of the same type as \p other, case insensitively. +/// O(n) +inline bool extension_equal_i( const char* extension, const char* other ){ + return path_equal_i( extension, other ); +} + template class MatchFileExtension { diff --git a/radiant/texwindow.cpp b/radiant/texwindow.cpp index fee615cf..89336949 100644 --- a/radiant/texwindow.cpp +++ b/radiant/texwindow.cpp @@ -100,7 +100,7 @@ bool string_equal_start( const char* string, StringRange start ){ typedef std::set TextureGroups; void TextureGroups_addWad( TextureGroups& groups, const char* archive ){ - if ( extension_equal( path_get_extension( archive ), "wad" ) ) { + if ( extension_equal_i( path_get_extension( archive ), "wad" ) ) { #if 1 groups.insert( archive ); #else