Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 29 Apr 2002 04:32:06 +0000 (04:32 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 29 Apr 2002 04:32:06 +0000 (04:32 +0000)
* sysdeps/generic/glob.c (glob): Don't pass GLOB_NOMAGIC flag to
glob_in_dir [PR libc/3385].
* posix/globtest.sh: Add test case.

ChangeLog
posix/globtest.sh
sysdeps/generic/glob.c

index f3e302a..026ef2f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2002-04-28  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/generic/glob.c (glob): Don't pass GLOB_NOMAGIC flag to
+       glob_in_dir [PR libc/3385].
+       * posix/globtest.sh: Add test case.
+
        * intl/loadmsgcat.c [!_LIBC] (_nl_init_domain_conv): Don't add
        //TRANSLIT twice.
 
index a57c49f..d503256 100755 (executable)
@@ -211,6 +211,19 @@ if test $failed -ne 0; then
   result=1
 fi
 
+# Test NOMAGIC for subdirs
+failed=0
+${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
+${common_objpfx}posix/globtest -g "$testdir" "*/does-not-exist" |
+sort > $testout
+cat <<"EOF" | cmp - $testout >> $logfile || failed=1
+GLOB_NOMATCH
+EOF
+if test $failed -ne 0; then
+  echo "No magic in subdir test failed" >> $logfile
+  result=1
+fi
+
 # Test subdirs correctly
 failed=0
 ${elf_objpfx}${rtld_installed_name} --library-path ${library_path} \
index af409c5..4a56f90 100644 (file)
@@ -494,7 +494,7 @@ glob (pattern, flags, errfunc, pglob)
 #endif
 
              result = glob (onealt,
-                            ((flags & ~(GLOB_NOCHECK|GLOB_NOMAGIC))
+                            ((flags & ~(GLOB_NOCHECK | GLOB_NOMAGIC))
                              | GLOB_APPEND), errfunc, pglob);
 
              /* If we got an error, return it.  */
@@ -929,7 +929,8 @@ glob (pattern, flags, errfunc, pglob)
 
          old_pathc = pglob->gl_pathc;
          status = glob_in_dir (filename, dirs.gl_pathv[i],
-                               ((flags | GLOB_APPEND) & ~GLOB_NOCHECK),
+                               ((flags | GLOB_APPEND)
+                                & ~(GLOB_NOCHECK | GLOB_NOMAGIC)),
                                errfunc, pglob);
          if (status == GLOB_NOMATCH)
            /* No matches in this directory.  Try the next.  */