fix stat64 on UW
diff --git a/aclocal.m4 b/aclocal.m4
index 93d880e..a3f07c0 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -287,9 +287,13 @@
 
 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 <asm/stat.h>],
+[AC_TRY_COMPILE([#ifdef linux
+#include <asm/stat.h>
+#else
+#include <sys/stat.h>
+#endif],
 [struct stat64 st;],
 ac_cv_type_stat64=yes,
 ac_cv_type_stat64=no)])
diff --git a/file.c b/file.c
index 911090c..50fdd4a 100644
--- a/file.c
+++ b/file.c
@@ -999,6 +999,11 @@
 		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 @@
 	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 @@
 		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;