Fix for read directory functions with Windows (wc_ReadDirFirst and wc_ReadDirNext). Fix to use bit-mask check instead of equality.

This commit is contained in:
David Garske
2019-04-29 20:47:52 -07:00
parent 12a7c32530
commit 8aacd7b802

View File

@@ -291,7 +291,7 @@ int wc_ReadDirFirst(ReadDirCtx* ctx, const char* path, char** name)
}
do {
if (ctx->FindFileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY) {
if (!(ctx->FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
dnameLen = (int)XSTRLEN(ctx->FindFileData.cFileName);
if (pathLen + dnameLen + 2 > MAX_FILENAME_SZ) {
@@ -427,7 +427,7 @@ int wc_ReadDirNext(ReadDirCtx* ctx, const char* path, char** name)
#ifdef USE_WINDOWS_API
while (FindNextFileA(ctx->hFind, &ctx->FindFileData)) {
if (ctx->FindFileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY) {
if (!(ctx->FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
dnameLen = (int)XSTRLEN(ctx->FindFileData.cFileName);
if (pathLen + dnameLen + 2 > MAX_FILENAME_SZ) {