From 84d35587ee400d9704e38042652fe5cbaab30c68 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 15 Jan 2025 14:08:53 -0500
Subject: [PATCH] filesystem: SDL_SYS_EnumerateDirectory inexplicably takes the
same arg twice.
---
src/filesystem/SDL_filesystem.c | 2 +-
src/filesystem/SDL_sysfilesystem.h | 2 +-
src/filesystem/dummy/SDL_sysfsops.c | 2 +-
src/filesystem/posix/SDL_sysfsops.c | 4 ++--
src/filesystem/windows/SDL_sysfsops.c | 6 +++---
5 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/filesystem/SDL_filesystem.c b/src/filesystem/SDL_filesystem.c
index e3066f2bef0af..6bb905a0b851e 100644
--- a/src/filesystem/SDL_filesystem.c
+++ b/src/filesystem/SDL_filesystem.c
@@ -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)
diff --git a/src/filesystem/SDL_sysfilesystem.h b/src/filesystem/SDL_sysfilesystem.h
index 10ca00504c073..f9f4c592a00ef 100644
--- a/src/filesystem/SDL_sysfilesystem.h
+++ b/src/filesystem/SDL_sysfilesystem.h
@@ -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);
diff --git a/src/filesystem/dummy/SDL_sysfsops.c b/src/filesystem/dummy/SDL_sysfsops.c
index 606202d18ae68..d8553e91e7a60 100644
--- a/src/filesystem/dummy/SDL_sysfsops.c
+++ b/src/filesystem/dummy/SDL_sysfsops.c
@@ -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();
}
diff --git a/src/filesystem/posix/SDL_sysfsops.c b/src/filesystem/posix/SDL_sysfsops.c
index b16c724058652..0658b8f1554d9 100644
--- a/src/filesystem/posix/SDL_sysfsops.c
+++ b/src/filesystem/posix/SDL_sysfsops.c
@@ -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;
@@ -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);
diff --git a/src/filesystem/windows/SDL_sysfsops.c b/src/filesystem/windows/SDL_sysfsops.c
index 1c4fe5a99e977..89961c6a8fa8e 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"
-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.
@@ -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 {
@@ -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));