diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-26 03:22:20 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-26 03:22:20 +0000 |
commit | 1827fc4c9819187f1084fecd92f3071e3482defa (patch) | |
tree | d544f9c5dbe8808b73527f058d17bec1a1f6d47c /sysdeps/unix/sysv/linux/i386 | |
parent | d6f7f7bdf014b2c80424c496b51d339a4db0f827 (diff) | |
download | glibc-1827fc4c9819187f1084fecd92f3071e3482defa.tar glibc-1827fc4c9819187f1084fecd92f3071e3482defa.tar.gz glibc-1827fc4c9819187f1084fecd92f3071e3482defa.tar.bz2 glibc-1827fc4c9819187f1084fecd92f3071e3482defa.zip |
Update.
2000-01-25 Andreas Schwab <schwab@suse.de>
* 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 <steve@xemacs.org>.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/fxstat.c | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/lxstat.c | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/xstat.c | 13 |
3 files changed, 27 insertions, 12 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c index 532341d284..2f48dc2c9b 100644 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ b/sysdeps/unix/sysv/linux/i386/fxstat.c @@ -28,6 +28,7 @@ #include <sysdep.h> #include <sys/syscall.h> +#include "kernel-features.h" #include <xstatconv.c> @@ -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 fa5b463362..f40bc2bc5f 100644 --- a/sysdeps/unix/sysv/linux/i386/lxstat.c +++ b/sysdeps/unix/sysv/linux/i386/lxstat.c @@ -28,6 +28,7 @@ #include <sysdep.h> #include <sys/syscall.h> +#include "kernel-features.h" #include <xstatconv.c> @@ -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 c879960a58..7dd83550de 100644 --- a/sysdeps/unix/sysv/linux/i386/xstat.c +++ b/sysdeps/unix/sysv/linux/i386/xstat.c @@ -28,6 +28,7 @@ #include <sysdep.h> #include <sys/syscall.h> +#include "kernel-features.h" #include <xstatconv.c> @@ -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 |