Marc-André Lureau wrote: > > What is the problem in the first place? Which warning or error did you > > get? Please also show snippets from the .h files with relevant information. > > stat.c: In function 'rpl_stat': > stat.c:67:3: warning: passing argument 2 of 'orig_stat' from > incompatible pointer type [enabled by default] > stat.c:31:1: note: expected 'struct _stat64 *' but argument is of type > 'struct stat *' > stat.c:113:11: warning: passing argument 2 of 'orig_stat' from > incompatible pointer type [enabled by default] > stat.c:31:1: note: expected 'struct _stat64 *' but argument is of type > 'struct stat *'
Thanks. Can you please try this patch? --- lib/sys_stat.in.h.orig Mon Jan 30 01:00:23 2012 +++ lib/sys_stat.in.h Mon Jan 30 00:59:44 2012 @@ -616,14 +616,35 @@ /* 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 /* With _LARGE_FILES defined, AIX (only) defines stat to stat64, so we have to replace stat64() instead of stat(). */ +# undef 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 /* !(_LARGE_FILES ||__MINGW32__ || _MSC_VER) */ +# undef stat # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ _GL_EXTERN_C int stat (const char *name, struct stat *buf)