From: John Hughes Date: Tue, 6 Mar 2001 09:45:18 +0000 (+0000) Subject: fix stat64 on UW X-Git-Tag: v4.5.18~1100 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8fe2c989867d7ce4fe8ba0e05266e6195488928d;p=strace fix stat64 on UW --- diff --git a/aclocal.m4 b/aclocal.m4 index 93d880eb..a3f07c09 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -287,9 +287,13 @@ fi dnl ### A macro to determine whether stat64 is defined. AC_DEFUN(AC_STAT64, -[AC_MSG_CHECKING(for stat64 in asm/stat.h) +[AC_MSG_CHECKING(for stat64 in (asm|sys)/stat.h) AC_CACHE_VAL(ac_cv_type_stat64, -[AC_TRY_COMPILE([#include ], +[AC_TRY_COMPILE([#ifdef linux +#include +#else +#include +#endif], [struct stat64 st;], ac_cv_type_stat64=yes, ac_cv_type_stat64=no)]) diff --git a/file.c b/file.c index 911090c8..50fdd4ac 100644 --- a/file.c +++ b/file.c @@ -999,6 +999,11 @@ struct tcb *tcp; printpath(tcp, tcp->u_arg[1]); tprintf(", "); } else { +#ifdef _STAT64_VER + if (tcp->u_arg[0] == _STAT64_VER) + printstat64 (tcp, tcp->u_arg[2]); + else +#endif printstat(tcp, tcp->u_arg[2]); } return 0; @@ -1011,6 +1016,11 @@ struct tcb *tcp; if (entering(tcp)) tprintf("%ld, %ld, ", tcp->u_arg[0], tcp->u_arg[1]); else { +#ifdef _STAT64_VER + if (tcp->u_arg[0] == _STAT64_VER) + printstat64 (tcp, tcp->u_arg[2]); + else +#endif printstat(tcp, tcp->u_arg[2]); } return 0; @@ -1025,6 +1035,11 @@ struct tcb *tcp; printpath(tcp, tcp->u_arg[1]); tprintf(", "); } else { +#ifdef _STAT64_VER + if (tcp->u_arg[0] == _STAT64_VER) + printstat64 (tcp, tcp->u_arg[2]); + else +#endif printstat(tcp, tcp->u_arg[2]); } return 0;