public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* fnmatch failure
@ 2000-01-25 10:14 Andreas Schwab
  0 siblings, 0 replies; only message in thread
From: Andreas Schwab @ 2000-01-25 10:14 UTC (permalink / raw)
  To: libc-hacker

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3937 bytes --]

This patch adds a new testcase to the fnmatch tests, which fnmatch is
currently failing.  No fix for fnmatch yet, hopefully someone else finds
the time to work on it.

In case it is not obvious, the testcase matches "a/b" against "*a*" with
both the FNM_FILE_NAME and FNM_LEADING_DIR flags.  This is supposed to
match since "*a*" matches "a" and "/b" is to be ignored.  This is taken
from the tar-1.13.17 configure script.

Andreas.


2000-01-25  Andreas Schwab  <schwab@suse.de>

	* posix/testfnm.c: Add new test case.  Use FNM_FILE_NAME instead
	of FNM_PATHNAME consistently.

Index: posix/testfnm.c
===================================================================
RCS file: /cvs/glibc/libc/posix/testfnm.c,v
retrieving revision 1.8
diff -u -a -u -r1.8 posix/testfnm.c
--- posix/testfnm.c	1999/04/28 09:22:54	1.8
+++ posix/testfnm.c	2000/01/25 18:07:03
@@ -11,7 +11,7 @@
   { "lib", "*LIB*", FNM_PERIOD, FNM_NOMATCH },
   { "lib", "*LIB*", FNM_CASEFOLD|FNM_PERIOD, 0 },
   { "a/b", "a[/]b", 0, 0 },
-  { "a/b", "a[/]b", FNM_PATHNAME, FNM_NOMATCH },
+  { "a/b", "a[/]b", FNM_FILE_NAME, FNM_NOMATCH },
   { "a/b", "[a-z]/[a-z]", 0, 0 },
   { "a/b", "*", FNM_FILE_NAME, FNM_NOMATCH },
   { "a/b", "*[/]b", FNM_FILE_NAME, FNM_NOMATCH },
@@ -30,27 +30,28 @@
   { "[/b", "\\[/b", 0, 0 },
   { "aa/b", "??/b", 0, 0 },
   { "aa/b", "???b", 0, 0 },
-  { "aa/b", "???b", FNM_PATHNAME, FNM_NOMATCH },
-  { ".a/b", "?a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { "a/.b", "a/?b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { ".a/b", "*a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { "a/.b", "a/*b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { ".a/b", "[.]a/b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { "a/.b", "a/[.]b", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
-  { "a/b", "*/?", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a/b", "?/*", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { ".a/b", ".*/?", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a/.b", "*/.?", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a/.b", "*/*", FNM_PATHNAME|FNM_PERIOD, FNM_NOMATCH },
+  { "aa/b", "???b", FNM_FILE_NAME, FNM_NOMATCH },
+  { ".a/b", "?a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { "a/.b", "a/?b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { ".a/b", "*a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { "a/.b", "a/*b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { ".a/b", "[.]a/b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { "a/.b", "a/[.]b", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
+  { "a/b", "*/?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a/b", "?/*", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { ".a/b", ".*/?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a/.b", "*/.?", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a/.b", "*/*", FNM_FILE_NAME|FNM_PERIOD, FNM_NOMATCH },
   { "a/.b", "*?*/*", FNM_PERIOD, 0 },
-  { "a./b", "*[.]/b", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a/b", "*[[:alpha:]]/*[[:alnum:]]", FNM_PATHNAME, 0 },
-  { "a/b", "*[![:digit:]]*/[![:d-d]", FNM_PATHNAME, 0 },
-  { "a/[", "*[![:digit:]]*/[[:d-d]", FNM_PATHNAME, 0 },
-  { "a/[", "*[![:digit:]]*/[![:d-d]", FNM_PATHNAME, FNM_NOMATCH },
-  { "a.b", "a?b", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a.b", "a*b", FNM_PATHNAME|FNM_PERIOD, 0 },
-  { "a.b", "a[.]b", FNM_PATHNAME|FNM_PERIOD, 0 },
+  { "a./b", "*[.]/b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a/b", "*[[:alpha:]]/*[[:alnum:]]", FNM_FILE_NAME, 0 },
+  { "a/b", "*[![:digit:]]*/[![:d-d]", FNM_FILE_NAME, 0 },
+  { "a/[", "*[![:digit:]]*/[[:d-d]", FNM_FILE_NAME, 0 },
+  { "a/[", "*[![:digit:]]*/[![:d-d]", FNM_FILE_NAME, FNM_NOMATCH },
+  { "a.b", "a?b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a.b", "a*b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a.b", "a[.]b", FNM_FILE_NAME|FNM_PERIOD, 0 },
+  { "a/b", "*a*", FNM_FILE_NAME|FNM_LEADING_DIR, 0 },
 };
 
 int

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-01-25 10:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-01-25 10:14 fnmatch failure Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).