From 7baa2975ec616bf334fdc4858703896d41589385 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 11 Oct 2019 20:13:11 +0200 Subject: [PATCH] REDESIGNED: IsFileExtension() Now it accepts a ';' separated list of extensions, useful to check multiple extensions --- src/core.c | 29 +++++++++-------------------- src/text.c | 2 +- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/core.c b/src/core.c index 305eb33cf..40c48f42f 100644 --- a/src/core.c +++ b/src/core.c @@ -1796,29 +1796,18 @@ bool FileExists(const char *fileName) bool IsFileExtension(const char *fileName, const char *ext) { bool result = false; - const char *fileExt; - - if ((fileExt = strrchr(fileName, '.')) != NULL) + const char *fileExt = GetExtension(fileName); + + int extCount = 0; + const char **checkExts = TextSplit(ext, ';', &extCount); + + for (int i = 0; i < extCount; i++) { -#if defined(_WIN32) - result = true; - int extLen = strlen(ext); - - if (strlen(fileExt) == extLen) + if (strcmp(fileExt, checkExts[i] + 1) == 0) { - for (int i = 0; i < extLen; i++) - { - if (tolower(fileExt[i]) != tolower(ext[i])) - { - result = false; - break; - } - } + result = true; + break; } - else result = false; -#else - if (strcmp(fileExt, ext) == 0) result = true; -#endif } return result; diff --git a/src/text.c b/src/text.c index 4dad8c6b8..9617c11a6 100644 --- a/src/text.c +++ b/src/text.c @@ -284,7 +284,7 @@ Font LoadFont(const char *fileName) Font font = { 0 }; #if defined(SUPPORT_FILEFORMAT_TTF) - if (IsFileExtension(fileName, ".ttf") || IsFileExtension(fileName, ".otf")) font = LoadFontEx(fileName, DEFAULT_TTF_FONTSIZE, NULL, DEFAULT_TTF_NUMCHARS); + if (IsFileExtension(fileName, ".ttf;.otf")) font = LoadFontEx(fileName, DEFAULT_TTF_FONTSIZE, NULL, DEFAULT_TTF_NUMCHARS); else #endif #if defined(SUPPORT_FILEFORMAT_FNT)