Commit 811eeef7 authored by amir zamani's avatar amir zamani Committed by GitHub

update os.h to fix filesize() on older win32

_fstat() always fails under older 32bit WinXP/Win2003 targets.

_filelength() just works for both WinXP SDK and later Win7+ 32bit targets.
parent 1f1f6a5f
......@@ -31,6 +31,7 @@
#endif
#include <sys/types.h>
#include <io.h>
#elif __linux__
......@@ -204,9 +205,9 @@ inline size_t filesize(FILE *f)
return st.st_size;
#else //windows 32 bits
struct _stat st;
if (_fstat(fd, &st) == 0)
return st.st_size;
long ret = _filelength(fd);
if (ret >= 0)
return static_cast<size_t>(ret);
#endif
#else // unix
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment