From 9318dc98ce647acd9a718243555996618e95b959 Mon Sep 17 00:00:00 2001 From: Ray San Date: Fri, 16 Mar 2018 13:09:49 +0100 Subject: [PATCH] Support case-insensitive extension check --- src/core.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/core.c b/src/core.c index 558bc2d34..2f79d5be7 100644 --- a/src/core.c +++ b/src/core.c @@ -126,6 +126,7 @@ #include // Required for: tan() [Used in Begin3dMode() to set perspective] #include // Required for: strrchr(), strcmp() //#include // Macros for reporting and retrieving error conditions through error codes +#include // Required for: tolower() [Used in IsFileExtension()] #if defined(_WIN32) #include // Required for: _getch(), _chdir() @@ -1253,6 +1254,28 @@ bool IsFileExtension(const char *fileName, const char *ext) { if (strcmp(fileExt, ext) == 0) result = true; } + + if ((fileExt = strrchr(fileName, '.')) != NULL) + { + #if defined(_WIN32) + result = true; + int extLen = strlen(ext); + + if (strlen(fileExt) == extLen) + { + for (int i = 0; i < extLen; i++) + { + if (tolower(fileExt[i]) != tolower(ext[i])) + { + result = false; + break; + } + } + } + #else + if (strcmp(fileExt, ext) == 0) result = true; + #endif + } return result; }