Browse Source

Fix SDL_EnumerateDirectory(/) failing on POSIX and Windows.

Edgar J San Martin 1 week ago
parent
commit
09a2283b53
2 changed files with 2 additions and 2 deletions
  1. 1 1
      src/filesystem/posix/SDL_sysfsops.c
  2. 1 1
      src/filesystem/windows/SDL_sysfsops.c

+ 1 - 1
src/filesystem/posix/SDL_sysfsops.c

@@ -85,7 +85,7 @@ bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback
 
 
     // trim down to a single path separator at the end, in case the caller added one or more.
     // trim down to a single path separator at the end, in case the caller added one or more.
     pathwithseplen--;
     pathwithseplen--;
-    while ((pathwithseplen >= 0) && (pathwithsep[pathwithseplen] == '/')) {
+    while ((pathwithseplen > 0) && (pathwithsep[pathwithseplen] == '/')) {
         pathwithsep[pathwithseplen--] = '\0';
         pathwithsep[pathwithseplen--] = '\0';
     }
     }
 
 

+ 1 - 1
src/filesystem/windows/SDL_sysfsops.c

@@ -57,7 +57,7 @@ bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback
 
 
         // trim down to a single path separator at the end, in case the caller added one or more.
         // trim down to a single path separator at the end, in case the caller added one or more.
         patternlen--;
         patternlen--;
-        while ((patternlen >= 0) && ((pattern[patternlen] == '\\') || (pattern[patternlen] == '/'))) {
+        while ((patternlen > 0) && ((pattern[patternlen] == '\\') || (pattern[patternlen] == '/'))) {
             pattern[patternlen--] ='\0';
             pattern[patternlen--] ='\0';
         }
         }
         pattern[++patternlen] = '\\';
         pattern[++patternlen] = '\\';