Use the standard stat()/fstat() interfaces, not nonstandard *64().

Most modern Unix environments use 64-bit off_t by default: OpenBSD,
FreeBSD, OS X, and Linux libc implementations such as Musl.

glibc is the lone exception; it can default to 32 bits but this is
configurable by setting _FILE_OFFSET_BITS.

Avoiding the stat64()/fstat64() interfaces is desirable because they
are nonstandard and not implemented on many systems (including
OpenBSD and FreeBSD), and using 64 bits for stat()/fstat() is either
the default or trivial to set up.
This commit is contained in:
Anthony J. Bentley
2016-07-17 04:30:00 -06:00
parent 92594e08d4
commit 5bab6210ef
3 changed files with 19 additions and 15 deletions

View File

@ -84,8 +84,8 @@ inline u64 _rotr64(u64 x, unsigned int shift)
#define fseeko _fseeki64
#define ftello _ftelli64
#define atoll _atoi64
#define stat64 _stat64
#define fstat64 _fstat64
#define stat _stat64
#define fstat _fstat64
#define fileno _fileno
extern "C" {