Fix T40157: Loading movies larger than 4GB in size fails

Issue was caused by _wstat returning EOVERFLOW error because
of file size didn't fit into stat structure which was using
long datatype.

The idea of this patch is to use _wstat64 and _stat64 structure
which is capable storing 64bit file sizes.

Made it a typedef for stat structure used by BLI_stat function
in order to make code easier to follow and avoid ifdefs all
over the place.

Additionally solved issue with BLI_exists which was wrongly
returning False in cases destination file is larger then 4GB.
This commit is contained in:
2014-05-28 22:50:40 +06:00
parent 74cc3974fe
commit 973f95fa9d
9 changed files with 27 additions and 16 deletions

View File

@@ -210,7 +210,7 @@ static int findFileRecursive(char *filename_new,
/* file searching stuff */
DIR *dir;
struct dirent *de;
struct stat status;
BLI_stat_t status;
char path[FILE_MAX];
int size;
bool found = false;