summaryrefslogtreecommitdiff
path: root/ext/File
diff options
context:
space:
mode:
Diffstat (limited to 'ext/File')
-rw-r--r--ext/File/Glob/bsd_glob.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/ext/File/Glob/bsd_glob.c b/ext/File/Glob/bsd_glob.c
index ef9ca30a0d..0ea502ad1b 100644
--- a/ext/File/Glob/bsd_glob.c
+++ b/ext/File/Glob/bsd_glob.c
@@ -95,16 +95,20 @@ static char sscsid[]= "$OpenBSD: glob.c,v 1.8.10.1 2001/04/10 jason Exp $";
#endif
#ifndef ARG_MAX
-# ifdef _SC_ARG_MAX
-# define ARG_MAX (sysconf(_SC_ARG_MAX))
+# ifdef MACOS_TRADITIONAL
+# define ARG_MAX 65536 /* Mac OS is actually unlimited */
# else
-# ifdef _POSIX_ARG_MAX
-# define ARG_MAX _POSIX_ARG_MAX
+# ifdef _SC_ARG_MAX
+# define ARG_MAX (sysconf(_SC_ARG_MAX))
# else
-# ifdef WIN32
-# define ARG_MAX 14500 /* from VC's limits.h */
+# ifdef _POSIX_ARG_MAX
+# define ARG_MAX _POSIX_ARG_MAX
# else
-# define ARG_MAX 4096 /* from POSIX, be conservative */
+# ifdef WIN32
+# define ARG_MAX 14500 /* from VC's limits.h */
+# else
+# define ARG_MAX 4096 /* from POSIX, be conservative */
+# endif
# endif
# endif
# endif
@@ -492,7 +496,7 @@ glob0(const Char *pattern, glob_t *pglob)
#ifdef MACOS_TRADITIONAL
if ( (*pattern == BG_TILDE) && (pglob->gl_flags & GLOB_TILDE) ) {
- return(globextend(pattern, pglob));
+ return(globextend(pattern, pglob, &limit));
}
#endif