1 #include <shlib-compat.h>
2 
3 #if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) \
4     && !defined(GLOB_NO_OLD_VERSION)
5 
6 #include <dirent.h>
7 #include <glob.h>
8 #include <sys/stat.h>
9 
10 #include <olddirent.h>
11 
12 int __old_glob64 (const char *__pattern, int __flags,
13 		  int (*__errfunc) (const char *, int),
14 		  glob64_t *__pglob);
15 libc_hidden_proto (__old_glob64);
16 
17 #define dirent __old_dirent64
18 #define GL_READDIR(pglob, stream) \
19   ((struct __old_dirent64 *) (pglob)->gl_readdir (stream))
20 #undef __readdir
21 #define __readdir(dirp) __old_readdir64 (dirp)
22 
23 #define glob_t glob64_t
24 #define __glob(pattern, flags, errfunc, pglob) \
25   __old_glob64 (pattern, flags, errfunc, pglob)
26 #define globfree(pglob) globfree64(pglob)
27 
28 #define convert_dirent __old_convert_dirent
29 #define glob_in_dir __old_glob_in_dir
30 
31 /* Avoid calling gl_lstat with GLOB_ALTDIRFUNC.  */
32 #define struct_stat    struct stat64
33 #define struct_stat64  struct stat64
34 #define GLOB_LSTAT     gl_stat
35 #define GLOB_STAT64    __stat64
36 #define GLOB_LSTAT64   __stat64
37 
38 #define GLOB_ATTRIBUTE attribute_compat_text_section
39 
40 #include <posix/glob.c>
41 
42 libc_hidden_def (__old_glob64);
43 
44 compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1);
45 #endif
46