diff --git a/source/blender/blenlib/BLI_storage_types.h b/source/blender/blenlib/BLI_storage_types.h index f8ebc3938a1..bc3584db03e 100644 --- a/source/blender/blenlib/BLI_storage_types.h +++ b/source/blender/blenlib/BLI_storage_types.h @@ -58,6 +58,8 @@ struct direntry{ char *path; #if (defined(WIN32) || defined(WIN64)) && (_MSC_VER>=1500) struct _stat64 s; +#elif defined(__MINGW32__) + struct _stati64 s; #else struct stat s; #endif diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c index f4679aa4dcf..edb6aecabb1 100644 --- a/source/blender/blenlib/intern/storage.c +++ b/source/blender/blenlib/intern/storage.c @@ -29,11 +29,6 @@ * Some really low-level file thingies. */ -/* needed for mingw & _stat64i32 */ -#ifdef FREE_WINDOWS -# define __MSVCRT_VERSION__ 0x0800 -#endif - #include #include #include @@ -255,6 +250,8 @@ void BLI_builddir(char *dirname, char *relname) // Excluding other than current MSVC compiler until able to test. #if (defined(WIN32) || defined(WIN64)) && (_MSC_VER>=1500) _stat64(dlink->name,&files[actnum].s); +#elif defined(__MINGW32__) + _stati64(dlink->name,&files[actnum].s); #else stat(dlink->name,&files[actnum].s); #endif @@ -449,14 +446,14 @@ int BLI_exist(char *name) if (len > 3 && ( tmp[len-1]=='\\' || tmp[len-1]=='/') ) tmp[len-1] = '\0'; res = _stat(tmp, &st); if (res == -1) return(0); -#elif defined(WIN32) && defined(__MINGW32__) - struct stat st; +#elif defined(__MINGW32__) + struct _stati64 st; char tmp[FILE_MAXDIR+FILE_MAXFILE]; int len, res; BLI_strncpy(tmp, name, FILE_MAXDIR+FILE_MAXFILE); len = strlen(tmp); if (len > 3 && ( tmp[len-1]=='\\' || tmp[len-1]=='/') ) tmp[len-1] = '\0'; - res = stat(tmp, &st); + res = _stati64(tmp, &st); if (res) return(0); #else struct stat st;