Skip to content

Commit

Permalink
filesystem: SDL_SYS_EnumerateDirectory inexplicably takes the same ar…
Browse files Browse the repository at this point in the history
…g twice.
  • Loading branch information
icculus committed Jan 15, 2025
1 parent fc9b247 commit 84d3558
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/filesystem/SDL_filesystem.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ bool SDL_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback cal
} else if (!callback) {
return SDL_InvalidParamError("callback");
}
return SDL_SYS_EnumerateDirectory(path, path, callback, userdata);
return SDL_SYS_EnumerateDirectory(path, callback, userdata);
}

bool SDL_GetPathInfo(const char *path, SDL_PathInfo *info)
Expand Down
2 changes: 1 addition & 1 deletion src/filesystem/SDL_sysfilesystem.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ extern char *SDL_SYS_GetPrefPath(const char *org, const char *app);
extern char *SDL_SYS_GetUserFolder(SDL_Folder folder);
extern char *SDL_SYS_GetCurrentDirectory(void);

extern bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata);
extern bool SDL_SYS_EnumerateDirectory(const char *path, 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);
Expand Down
2 changes: 1 addition & 1 deletion src/filesystem/dummy/SDL_sysfsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

#include "../SDL_sysfilesystem.h"

bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata)
bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback cb, void *userdata)
{
return SDL_Unsupported();
}
Expand Down
4 changes: 2 additions & 2 deletions src/filesystem/posix/SDL_sysfsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#include <sys/stat.h>
#include <unistd.h>

bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata)
bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback cb, void *userdata)
{
SDL_EnumerationResult result = SDL_ENUM_CONTINUE;

Expand All @@ -51,7 +51,7 @@ bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enume
if ((SDL_strcmp(name, ".") == 0) || (SDL_strcmp(name, "..") == 0)) {
continue;
}
result = cb(userdata, dirname, name);
result = cb(userdata, path, name);
}

closedir(dir);
Expand Down
6 changes: 3 additions & 3 deletions src/filesystem/windows/SDL_sysfsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#include "../../core/windows/SDL_windows.h"
#include "../SDL_sysfilesystem.h"

bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_EnumerateDirectoryCallback cb, void *userdata)
bool SDL_SYS_EnumerateDirectory(const char *path, SDL_EnumerateDirectoryCallback cb, void *userdata)
{
SDL_EnumerationResult result = SDL_ENUM_CONTINUE;
if (*path == '\0') { // if empty (completely at the root), we need to enumerate drive letters.
Expand All @@ -38,7 +38,7 @@ bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enume
for (int i = 'A'; (result == SDL_ENUM_CONTINUE) && (i <= 'Z'); i++) {
if (drives & (1 << (i - 'A'))) {
name[0] = (char) i;
result = cb(userdata, dirname, name);
result = cb(userdata, path, name);
}
}
} else {
Expand Down Expand Up @@ -79,7 +79,7 @@ bool SDL_SYS_EnumerateDirectory(const char *path, const char *dirname, SDL_Enume
if (!utf8fn) {
result = SDL_ENUM_FAILURE;
} else {
result = cb(userdata, dirname, utf8fn);
result = cb(userdata, path, utf8fn);
SDL_free(utf8fn);
}
} while ((result == SDL_ENUM_CONTINUE) && (FindNextFileW(dir, &entw) != 0));
Expand Down

0 comments on commit 84d3558

Please sign in to comment.