From 3c288b2646d51714293a00070e6f71a5f39d91bd Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 25 Feb 2014 14:10:15 -0500 Subject: [PATCH] Fixed Windows file finding. --- utils/finderrors.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/utils/finderrors.c b/utils/finderrors.c index 033b6e66..a2097ff5 100644 --- a/utils/finderrors.c +++ b/utils/finderrors.c @@ -156,9 +156,12 @@ static int do_dir(const char *dname, const char *profile) int total = 0; #ifdef _MSC_VER - WIN32_FIND_DATA dent; - HANDLE dirp = INVALID_HANDLE_VALUE; - FindFirstFileA(dname, &dent); + const size_t wildcardlen = strlen(dname) + 3; + char *wildcard = (char *) alloca(wildcardlen); + SDL_snprintf(wildcard, wildcardlen, "%s\\*", dname); + + WIN32_FIND_DATAA dent; + HANDLE dirp = FindFirstFileA(wildcard, &dent); if (dirp != INVALID_HANDLE_VALUE) { do @@ -166,7 +169,7 @@ static int do_dir(const char *dname, const char *profile) if (!do_file(profile, dname, dent.cFileName, &total)) break; } while (FindNextFileA(dirp, &dent) != 0); - CloseHandle(dirp); + FindClose(dirp); } // if #else struct dirent *dent = NULL;