diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:03:01 +0000 |
commit | 14970231a38310b9561052a67b617138eeaad300 (patch) | |
tree | 35c201a651afa5d5e4fff241280081b3f88b9c2c /sysdeps/unix/sysv/linux/oldglob.c | |
parent | f08c7420b5e8b017a1a47b880a62b15bdc588f4d (diff) | |
parent | 25ead03a3712d57df2208fe82f3d316eb8faeaf6 (diff) |
Merge commit 'refs/top-bases/t/extern_inline' into t/extern_inline
Diffstat (limited to 'sysdeps/unix/sysv/linux/oldglob.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/oldglob.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/oldglob.c b/sysdeps/unix/sysv/linux/oldglob.c new file mode 100644 index 0000000000..a034c2d930 --- /dev/null +++ b/sysdeps/unix/sysv/linux/oldglob.c @@ -0,0 +1,46 @@ +#include <shlib-compat.h> + +#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) \ + && !defined(GLOB_NO_OLD_VERSION) + +#include <dirent.h> +#include <glob.h> +#include <sys/stat.h> + +#include <olddirent.h> + +int __old_glob64 (const char *__pattern, int __flags, + int (*__errfunc) (const char *, int), + glob64_t *__pglob); +libc_hidden_proto (__old_glob64); + +#define dirent __old_dirent64 +#define GL_READDIR(pglob, stream) \ + ((struct __old_dirent64 *) (pglob)->gl_readdir (stream)) +#undef __readdir +#define __readdir(dirp) __old_readdir64 (dirp) + +#define glob_t glob64_t +#define __glob(pattern, flags, errfunc, pglob) \ + __old_glob64 (pattern, flags, errfunc, pglob) +#define globfree(pglob) globfree64(pglob) + +#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) __xstat64 (_STAT_VER, file, buf) + +/* Avoid calling gl_lstat with GLOB_ALTDIRFUNC. */ +#define GLOB_NO_LSTAT + +#define GLOB_ATTRIBUTE attribute_compat_text_section + +#include <posix/glob.c> + +libc_hidden_def (__old_glob64); + +compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1); +#endif |