1 /* Two glob variants with 64-bit support, for dirent64 and __olddirent64.
2 Copyright (C) 1998-2016 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
23 #define dirent dirent64
24 #define __readdir(dirp) __readdir64 (dirp)
26 #define glob_t glob64_t
27 #define glob(pattern, flags, errfunc, pglob) \
28 __glob64 (pattern, flags, errfunc, pglob)
29 #define globfree(pglob) globfree64 (pglob)
34 #define __stat(file, buf) __xstat64 (_STAT_VER, file, buf)
36 #define NO_GLOB_PATTERN_P 1
38 #define COMPILE_GLOB64 1
40 #include <posix/glob.c>
42 #include "shlib-compat.h"
44 libc_hidden_def (globfree64
)
46 versioned_symbol (libc
, __glob64
, glob64
, GLIBC_2_2
);
47 libc_hidden_ver (__glob64
, glob64
)
49 #if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
51 #include <sysdeps/unix/sysv/linux/i386/olddirent.h>
53 int __old_glob64 (const char *__pattern
, int __flags
,
54 int (*__errfunc
) (const char *, int),
58 #define dirent __old_dirent64
60 # define GL_READDIR(pglob, stream) \
61 ((struct __old_dirent64 *) (pglob)->gl_readdir (stream))
63 #define __readdir(dirp) __old_readdir64 (dirp)
65 #define glob(pattern, flags, errfunc, pglob) \
66 __old_glob64 (pattern, flags, errfunc, pglob)
67 #define convert_dirent __old_convert_dirent
68 #define glob_in_dir __old_glob_in_dir
69 #define GLOB_ATTRIBUTE attribute_compat_text_section
73 #include <posix/glob.c>
75 compat_symbol (libc
, __old_glob64
, glob64
, GLIBC_2_1
);