mirror of https://github.com/raysan5/raylib
REVIEWED: `GetFileLength()`, added comment #3262
This commit is contained in:
parent
150663f78a
commit
8157d4283e
13
src/rcore.c
13
src/rcore.c
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue