From 1827fc4c9819187f1084fecd92f3071e3482defa Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 26 Jan 2000 03:22:20 +0000 Subject: Update. 2000-01-25 Andreas Schwab * posix/testfnm.c: Add new test case. Use FNM_PATHNAME instead of FNM_FILE_NAME consistently. * posix/fnmatch.c: Define STRCOLL appropriately for the loop definition. * posix/fnmatch_loop.c: Undefine STRCOLL. * sysdeps/unix/sysv/linux/i386/fxstat.c: Correct code to handle kernels with stat64 support. * sysdeps/unix/sysv/linux/i386/lxstat.c: Likewise * sysdeps/unix/sysv/linux/i386/xstat.c: Likewise. Patch by SL Baur . --- sysdeps/unix/sysv/linux/i386/fxstat.c | 13 +++++++++---- sysdeps/unix/sysv/linux/i386/lxstat.c | 13 +++++++++---- sysdeps/unix/sysv/linux/i386/xstat.c | 13 +++++++++---- 3 files changed, 27 insertions(+), 12 deletions(-) (limited to 'sysdeps/unix') diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c index 532341d..2f48dc2 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstat.c @@ -28,6 +28,7 @@ #include #include +#include "kernel-features.h" #include @@ -53,10 +54,14 @@ __fxstat (int vers, int fd, struct stat *buf) return INLINE_SYSCALL (fstat, 2, fd, (struct kernel_stat *) buf); } #if __ASSUME_STAT64_SYSCALL > 0 - result = INLINE_SYSCALL (fstat64, 2, fd, &buf64); - if (result == 0) - result = xstat32_conv (vers, &buf64, buf); - return result; + { + struct stat64 buf64; + + result = INLINE_SYSCALL (fstat64, 2, fd, &buf64); + if (result == 0) + result = xstat32_conv (vers, &buf64, buf); + return result; + } #else # if defined __NR_stat64 diff --git a/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c index fa5b463..f40bc2b 100644 --- a/sysdeps/unix/sysv/linux/i386/lxstat.c +++ b/sysdeps/unix/sysv/linux/i386/lxstat.c @@ -28,6 +28,7 @@ #include #include +#include "kernel-features.h" #include @@ -55,10 +56,14 @@ __lxstat (int vers, const char *name, struct stat *buf) } #if __ASSUME_STAT64_SYSCALL > 0 - result = INLINE_SYSCALL (lstat64, 2, name, &buf64); - if (result == 0) - result = xstat32_conv (vers, &buf64, buf); - return result; + { + struct stat64 buf64; + + result = INLINE_SYSCALL (lstat64, 2, name, &buf64); + if (result == 0) + result = xstat32_conv (vers, &buf64, buf); + return result; + } #else # if defined __NR_stat64 diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c index c879960..7dd8355 100644 --- a/sysdeps/unix/sysv/linux/i386/xstat.c +++ b/sysdeps/unix/sysv/linux/i386/xstat.c @@ -28,6 +28,7 @@ #include #include +#include "kernel-features.h" #include @@ -54,10 +55,14 @@ __xstat (int vers, const char *name, struct stat *buf) return INLINE_SYSCALL (stat, 2, name, (struct kernel_stat *) buf); } #if __ASSUME_STAT64_SYSCALL > 0 - result = INLINE_SYSCALL (stat64, 2, name, &buf64); - if (result == 0) - result = xstat32_conv (vers, &buf64, buf); - return result; + { + struct stat64 buf64; + + result = INLINE_SYSCALL (stat64, 2, name, &buf64); + if (result == 0) + result = xstat32_conv (vers, &buf64, buf); + return result; + } #else # if defined __NR_stat64 /* To support 32 bit UIDs, we have to use stat64. The normal stat call only returns -- cgit v1.1