X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=lib%2Fsys_stat.in.h;h=c71d44ef1546c6ddfa7521a1a3706417c88b192c;hb=c28fb32b29882d8ad5dfc8fc11e664199508bce8;hp=e83ab1a11eb7f398d35e14ec61968810e1ebfdda;hpb=acdbf0082754a9cbd2e7c0f689f09fb23b5c2bc4;p=debian%2Fgzip diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h index e83ab1a..c71d44e 100644 --- a/lib/sys_stat.in.h +++ b/lib/sys_stat.in.h @@ -500,14 +500,33 @@ extern int mknodat (int fd, char const *file, mode_t mode, dev_t dev) /* We can't use the object-like #define stat rpl_stat, because of struct stat. This means that rpl_stat will not be used if the user does (stat)(a,b). Oh well. */ -# undef stat -# ifdef _LARGE_FILES +# if defined _AIX && defined stat && defined _LARGE_FILES /* With _LARGE_FILES defined, AIX (only) defines stat to stat64, so we have to replace stat64() instead of stat(). */ -# define stat stat64 # undef stat64 # define stat64(name, st) rpl_stat (name, st) -# else /* !_LARGE_FILES */ +# elif defined __MINGW32__ && defined stat +# ifdef _USE_32BIT_TIME_T + /* The system headers define stat to _stat32i64. */ +# undef _stat32i64 +# define _stat32i64(name, st) rpl_stat (name, st) +# else + /* The system headers define stat to _stat64. */ +# undef _stat64 +# define _stat64(name, st) rpl_stat (name, st) +# endif +# elif defined _MSC_VER && defined stat +# ifdef _USE_32BIT_TIME_T + /* The system headers define stat to _stat32. */ +# undef _stat32 +# define _stat32(name, st) rpl_stat (name, st) +# else + /* The system headers define stat to _stat64i32. */ +# undef _stat64i32 +# define _stat64i32(name, st) rpl_stat (name, st) +# endif +# else /* !(_AIX ||__MINGW32__ || _MSC_VER) */ +# undef stat # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ extern int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2));