| #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 |