* posix/fnmatch_loop.c (FCT): Handle !() after * special like @()
	and +().
	* posix/tst-fnmatch.input: Add test cases for matching empty strings.
This commit is contained in:
Ulrich Drepper 2001-03-28 06:25:09 +00:00
parent 325a39c511
commit 228293b590
3 changed files with 11 additions and 3 deletions

View File

@ -1,5 +1,9 @@
2001-03-27 Ulrich Drepper <drepper@redhat.com>
* posix/fnmatch_loop.c (FCT): Handle !() after * special like @()
and +().
* posix/tst-fnmatch.input: Add test cases for matching empty strings.
* sysdeps/ieee754/dbl-64/endian.h: Removed. Move definitions...
* include/endian.h: ...to here.

View File

@ -164,8 +164,8 @@ FCT (pattern, string, string_end, no_leading_period, flags)
if (c == L('[')
|| (__builtin_expect (flags & FNM_EXTMATCH, 0) != 0
/* XXX Do we have to add '!'? */
&& (c == L('@') || c == L('+')) && *p == L('(')))
&& (c == L('@') || c == L('+') || c == L('!'))
&& *p == L('(')))
{
int flags2 = ((flags & FNM_FILE_NAME)
? flags : (flags & ~FNM_PERIOD));

View File

@ -713,5 +713,9 @@ C "[" "!([!]a[])" 0 EXTMATCH
C "]" "!([!]a[])" 0 EXTMATCH
C ")" "*([)])" 0 EXTMATCH
C "*" "*([*(])" 0 EXTMATCH
C "abcd" "*!(|a)cd" NOMATCH EXTMATCH
C "abcd" "*!(|a)cd" 0 EXTMATCH
C "ab/.a" "+([abc])/*" NOMATCH EXTMATCH|PATHNAME|PERIOD
C "" "" 0
C "" "" 0 EXTMATCH
C "" "*([abc])" 0 EXTMATCH
C "" "?([abc])" 0 EXTMATCH