diff --git a/src/filesystem/SDL_filesystem.c b/src/filesystem/SDL_filesystem.c index 69056148ea..1ceb007f42 100644 --- a/src/filesystem/SDL_filesystem.c +++ b/src/filesystem/SDL_filesystem.c @@ -69,10 +69,7 @@ bool SDL_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback cal } else if (!callback) { return SDL_InvalidParamError("callback"); } - if (SDL_SYS_EnumerateDirectory(path, path, callback, userdata) < 0) { - return false; - } - return true; + return SDL_SYS_EnumerateDirectory(path, path, callback, userdata); } bool SDL_GetPathInfo(const char *path, SDL_PathInfo *info) diff --git a/src/filesystem/SDL_sysfilesystem.h b/src/filesystem/SDL_sysfilesystem.h index c35035bce3..e0fe9c604b 100644 --- a/src/filesystem/SDL_sysfilesystem.h +++ b/src/filesystem/SDL_sysfilesystem.h @@ -27,7 +27,7 @@ extern char *SDL_SYS_GetBasePath(void); extern char *SDL_SYS_GetPrefPath(const char *org, const char *app); extern char *SDL_SYS_GetUserFolder(SDL_Folder folder); -extern int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata); +extern bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata); extern bool SDL_SYS_RemovePath(const char *path); extern bool SDL_SYS_RenamePath(const char *oldpath, const char *newpath); extern bool SDL_SYS_CopyFile(const char *oldpath, const char *newpath); diff --git a/src/filesystem/dummy/SDL_sysfsops.c b/src/filesystem/dummy/SDL_sysfsops.c index f1acdfd07c..a7c40fe0bd 100644 --- a/src/filesystem/dummy/SDL_sysfsops.c +++ b/src/filesystem/dummy/SDL_sysfsops.c @@ -28,10 +28,9 @@ #include "../SDL_sysfilesystem.h" -int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) +bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) { - SDL_Unsupported(); - return -1; + return SDL_Unsupported(); } bool SDL_SYS_RemovePath(const char *path) diff --git a/src/filesystem/posix/SDL_sysfsops.c b/src/filesystem/posix/SDL_sysfsops.c index 9b1d963dfb..ff04b2c8bc 100644 --- a/src/filesystem/posix/SDL_sysfsops.c +++ b/src/filesystem/posix/SDL_sysfsops.c @@ -34,7 +34,7 @@ #include #include -int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) +bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) { int result = 1; @@ -56,7 +56,7 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer closedir(dir); - return result; + return (result >= 0); } bool SDL_SYS_RemovePath(const char *path) diff --git a/src/filesystem/windows/SDL_sysfsops.c b/src/filesystem/windows/SDL_sysfsops.c index 29aa4e7992..743eca681d 100644 --- a/src/filesystem/windows/SDL_sysfsops.c +++ b/src/filesystem/windows/SDL_sysfsops.c @@ -29,7 +29,7 @@ #include "../../core/windows/SDL_windows.h" #include "../SDL_sysfilesystem.h" -int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) +bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata) { int result = 1; if (*path == '\0') { // if empty (completely at the root), we need to enumerate drive letters. @@ -88,7 +88,7 @@ int SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enumer FindClose(dir); } - return result; + return (result >= 0); } bool SDL_SYS_RemovePath(const char *path)