diff --git a/src/rcore.c b/src/rcore.c index f0af87f9d..0c7a88ce6 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1946,26 +1946,17 @@ const char *GetFileName(const char *filePath) // Get filename string without extension (uses static string) const char *GetFileNameWithoutExt(const char *filePath) { - #define MAX_FILENAMEWITHOUTEXT_LENGTH 256 - - static char fileName[MAX_FILENAMEWITHOUTEXT_LENGTH] = { 0 }; - memset(fileName, 0, MAX_FILENAMEWITHOUTEXT_LENGTH); - - if (filePath != NULL) strcpy(fileName, GetFileName(filePath)); // Get filename with extension - - int size = (int)strlen(fileName); // Get size in bytes - - for (int i = 0; (i < size) && (i < MAX_FILENAMEWITHOUTEXT_LENGTH); i++) + const char *filename = GetFileName(filePath); + int pos = TextLength(filename); + for(int i = pos; i>0; i--) { - if (fileName[i] == '.') + if(filename[i] == '.') { - // NOTE: We break on first '.' found - fileName[i] = '\0'; + pos = i; break; } } - - return fileName; + return TextSubtext(filename,0,pos); } // Get directory for a given filePath