summaryrefslogtreecommitdiff
path: root/libc/misc/glob/glob64.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/glob/glob64.c')
-rw-r--r--libc/misc/glob/glob64.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/libc/misc/glob/glob64.c b/libc/misc/glob/glob64.c
new file mode 100644
index 000000000..83a406afd
--- /dev/null
+++ b/libc/misc/glob/glob64.c
@@ -0,0 +1,33 @@
+#include <features.h>
+
+#ifdef __UCLIBC_HAVE_LFS__
+
+#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64
+#undef _FILE_OFFSET_BITS
+#define _FILE_OFFSET_BITS 64
+#endif
+#ifndef __USE_FILE_OFFSET64
+# define __USE_FILE_OFFSET64 1
+#endif
+#ifndef __USE_LARGEFILE64
+# define __USE_LARGEFILE64 1
+#endif
+#include <dirent.h>
+#include <glob.h>
+#include <sys/stat.h>
+
+#define dirent dirent64
+#define readdir(dirp) readdir64 (dirp)
+
+#define glob_t glob64_t
+#define glob(pattern, flags, errfunc, pglob) \
+ glob64 (pattern, flags, errfunc, pglob)
+#define globfree(pglob) globfree64 (pglob)
+
+#undef stat
+#define stat stat64
+#define lstat lstat64
+
+#include "glob.c"
+
+#endif