summary refs log tree commit diff
path: root/sysdeps/generic/glob.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-12-24 05:55:50 +0000
committerUlrich Drepper <drepper@redhat.com>1999-12-24 05:55:50 +0000
commit293321753c08b5db20b866f2ae2dbd716f717434 (patch)
treecd28dda5c83949cd59aa119439dfa7b4a0bd27e0 /sysdeps/generic/glob.c
parent575b273bdc8b2fe0be70396486e9fbc400b2e641 (diff)
downloadglibc-293321753c08b5db20b866f2ae2dbd716f717434.tar.gz
glibc-293321753c08b5db20b866f2ae2dbd716f717434.tar.xz
glibc-293321753c08b5db20b866f2ae2dbd716f717434.zip
Update.
1999-12-23  Ulrich Drepper  <drepper@cygnus.com>

	* locale/programs/ld-monetary.c (monetary_finish): Add cast to
	prevent warning.

	* locale/programs/ld-collate.c: Implement writing out multibyte
	collation data.

	* locale/setlocale.c (setlocale): Allow setting LC_COLLATE again.
	* locale/localeinfo.h: Declare variables only for currently implemented
	collate functionality.  Remove FORWARD_CHAR and ELLIPSIS_CHAR.
	* locale/lc-collate.c: Define variables only for currently implemented
	functionality.
	* locale/langinfo.h: Define symbols only for currently implemented
	functionality.
	* locale/categories.def: Define elements for currently implemented
	functionality.
	* locale/C-collate.c: Comment out definitions of arrays with symbol
	name definitions etc.
	(_nl_C_LC_COLLATE): Update for currently defined information.

	* intl/libintl.h: Remove dcgettext macro definition.
	* intl/gettextP.h: Declare _nl_msg_cat_cntr.

	* locale/iso-4217.def: Add NAD.  Remove a few obsolete entries.

	* sysdeps/generic/glob.c (glob): Pass alternate file access functions
	also in recursive call.  Patch by Joe Orton <joe@orton.demon.co.uk>.

1999-12-22  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/sparc/fpu/ftestexcept.c (fetestexcept): Use proper type
	for __fenv_stfsr argument.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add
	truncate64, ftruncate64, fstat64, lstat64, stat64 and mmap2.
	Remove ugetrlimit.
	* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
	(XSTAT_IS_XSTAT64): Define.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Add
	__libc_lseek64, __libc_pread, __libc_pread64, __libc_pwrite
	and __libc_pwrite64.
	Remove oldgetrlimit and oldsetrlimit.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/xstat64.c: New file.

	* sysdeps/unix/sysv/linux/fxstat64.c (__fxstat64): Pass the buf
	pointer to the syscall, not address of that pointer.
	* sysdeps/unix/sysv/linux/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/unix/sysv/linux/xstat64.c (__xstat64): Likewise.
	(__syscall_stat64): Provide proper prototype.

	* sysdeps/unix/sysv/linux/ftruncate64.c (ftruncate64): Share
	has_no_truncate64 between truncate64 and ftruncate64.
	* sysdeps/unix/sysv/linux/truncate64.c (truncate64): Likewise.

	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_TRUNCATE64_SYSCALL, __ASSUME_MMAP2_SYSCALL,
	__ASSUME_STAT64_SYSCALL): Define on Sparc for kernels >= 2.3.35.

1999-12-22  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add __libc_lseek64,
	__libc_pread, __libc_pread64, __libc_pwrite and __libc_pwrite64.
Diffstat (limited to 'sysdeps/generic/glob.c')
-rw-r--r--sysdeps/generic/glob.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/sysdeps/generic/glob.c b/sysdeps/generic/glob.c
index 65055fb7f8..e52afc8c1b 100644
--- a/sysdeps/generic/glob.c
+++ b/sysdeps/generic/glob.c
@@ -841,8 +841,20 @@ glob (pattern, flags, errfunc, pglob)
       glob_t dirs;
       register int i;
 
+      if ((flags & GLOB_ALTDIRFUNC) != 0)
+	{
+	  /* Use the alternative access functions also in the recursive
+	     call.  */
+	  dirs.gl_opendir = pglob->gl_opendir;
+	  dirs.gl_readdir = pglob->gl_readdir;
+	  dirs.gl_closedir = pglob->gl_closedir;
+	  dirs.gl_stat = pglob->gl_stat;
+	  dirs.gl_lstat = pglob->gl_lstat;
+	}
+
       status = glob (dirname,
-		     ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE))
+		     ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE
+				| GLOB_ALTDIRFUNC))
 		      | GLOB_NOSORT | GLOB_ONLYDIR),
 		     errfunc, &dirs);
       if (status != 0)