about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/oldglob.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-03-02 20:17:07 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-06-15 10:42:11 -0300
commit84f7ce84474c1648ce96884f1c91ca7b97ca3fc2 (patch)
tree4a19687d260d69a380414d41a592fb261841e5cd /sysdeps/unix/sysv/linux/oldglob.c
parent47f24c21ee38701ae275aa9e451f70fa3e77478c (diff)
downloadglibc-84f7ce84474c1648ce96884f1c91ca7b97ca3fc2.tar.gz
glibc-84f7ce84474c1648ce96884f1c91ca7b97ca3fc2.tar.xz
glibc-84f7ce84474c1648ce96884f1c91ca7b97ca3fc2.zip
posix: Add glob64 with 64-bit time_t support
The glob might pass a different stat struct for gl_stat and gl_lstat
when GLOB_ALTDIRFUNC is used.  This requires add a new 64-bit time
version that also uses 64-bit time stat functions.

Checked on i686-linux-gnu and x86_64-linux-gnu.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/oldglob.c')
-rw-r--r--sysdeps/unix/sysv/linux/oldglob.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/oldglob.c b/sysdeps/unix/sysv/linux/oldglob.c
index 59bf89dc1d..a9a4439ddb 100644
--- a/sysdeps/unix/sysv/linux/oldglob.c
+++ b/sysdeps/unix/sysv/linux/oldglob.c
@@ -28,13 +28,12 @@ libc_hidden_proto (__old_glob64);
 #define convert_dirent __old_convert_dirent
 #define glob_in_dir __old_glob_in_dir
 
-#undef stat
-#define stat stat64
-#undef __stat
-#define __stat(file, buf) __stat64 (file, buf)
-
 /* Avoid calling gl_lstat with GLOB_ALTDIRFUNC.  */
-#define GLOB_NO_LSTAT
+#define struct_stat    struct stat64
+#define struct_stat64  struct stat64
+#define GLOB_LSTAT     gl_stat
+#define GLOB_STAT64    __stat64
+#define GLOB_LSTAT64   __stat64
 
 #define GLOB_ATTRIBUTE attribute_compat_text_section