+1999-09-11 Paul Eggert <eggert@twinsun.com>
+
+ * posix/glob.h (glob): If #defining to glob64, do this before
+ declaring it, so that all declarations and uses match, and do not
+ declare glob64, to avoid a declaration clash.
+ (globfree): Likewise with globfree64.
+
+1999-09-08 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * sysdeps/generic/glob.c (prefix_array) [__MSDOS__,WINDOWS32]:
+ Keep the trailing slash unless DIRNAME is just "x:/".
+
1999-10-11 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/bits/siginfo.h (SI_KERNEL): Added.
} glob64_t;
#endif
+#if _FILE_OFFSET_BITS == 64 && __GNUC__ < 2
+# define glob glob64
+# define globfree globfree64
+#endif
+
/* Do glob searching for PATTERN, placing results in PGLOB.
The bits defined above may be set in FLAGS.
If a directory cannot be opened or read and ERRFUNC is not nil,
`glob' returns GLOB_ABEND; if it returns zero, the error is ignored.
If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned.
Otherwise, `glob' returns zero. */
-#if _FILE_OFFSET_BITS != 64
+#if _FILE_OFFSET_BITS != 64 || __GNUC__ < 2
extern int glob __P ((__const char *__pattern, int __flags,
int (*__errfunc) (__const char *, int),
glob_t *__pglob));
/* Free storage allocated in PGLOB by a previous `glob' call. */
extern void globfree __P ((glob_t *__pglob));
#else
-# if __GNUC__ >= 2
extern int glob __P ((__const char *__pattern, int __flags,
int (*__errfunc) (__const char *, int),
glob_t *__pglob)) __asm__ ("glob64");
extern void globfree __P ((glob_t *__pglob)) __asm__ ("globfree64");
-# else
-# define glob glob64
-# define globfree globfree64
-# endif
#endif
#ifdef _LARGEFILE64_SOURCE
#if defined __MSDOS__ || defined WINDOWS32
else if (dirlen > 1)
{
- if (dirname[dirlen - 1] == '/')
+ if (dirname[dirlen - 1] == '/' && dirname[dirlen - 2] == ':')
/* DIRNAME is "d:/". Don't prepend the slash from DIRNAME. */
--dirlen;
else if (dirname[dirlen - 1] == ':')