REVIEWED: `GetFileLength()`, added comment #3262

This commit is contained in:
Ray 2023-08-29 19:26:15 +02:00
parent 150663f78a
commit 8157d4283e
1 changed files with 12 additions and 1 deletions

View File

@ -3192,13 +3192,24 @@ bool DirectoryExists(const char *dirPath)
int GetFileLength(const char *fileName)
{
int size = 0;
// NOTE: On Unix-like systems, it can by used the POSIX system call: stat(),
// but depending on the platform that call could not be available
//struct stat result = { 0 };
//stat(fileName, &result);
//return result.st_size;
FILE *file = fopen(fileName, "rb");
if (file != NULL)
{
fseek(file, 0L, SEEK_END);
size = (int)ftell(file);
long int fileSize = ftell(file);
// Check for size overflow (INT_MAX)
if (fileSize > 2147483647) TRACELOG(LOG_WARNING, "[%s] File size overflows expected limit, do not use GetFileLength()", fileName);
else size = (int)fileSize;
fclose(file);
}