Sfoglia il codice sorgente

filesystem: Turn off case-insensitivity if glob pattern is NULL.

Just a small optimization; it'll avoid some allocations and case-folding we
don't actually need the results of later.
Ryan C. Gordon 1 anno fa
parent
commit
ff651a7941
1 ha cambiato i file con 6 aggiunte e 1 eliminazioni
  1. 6 1
      src/filesystem/SDL_filesystem.c

+ 6 - 1
src/filesystem/SDL_filesystem.c

@@ -270,8 +270,13 @@ char **SDL_InternalGlobDirectory(const char *path, const char *pattern, Uint32 f
         path = pathcpy;
         path = pathcpy;
     }
     }
 
 
+    if (!pattern) {
+        flags &= ~SDL_GLOB_CASEINSENSITIVE;  // avoid some unnecessary allocations and work later.
+    }
+
     char *folded = NULL;
     char *folded = NULL;
-    if (pattern && (flags & SDL_GLOB_CASEINSENSITIVE)) {
+    if (flags & SDL_GLOB_CASEINSENSITIVE) {
+        SDL_assert(pattern != NULL);
         folded = CaseFoldUtf8String(pattern);
         folded = CaseFoldUtf8String(pattern);
         if (!folded) {
         if (!folded) {
             SDL_free(pathcpy);
             SDL_free(pathcpy);