1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-24 17:51:17 +03:00
2000-01-24  Paul Eggert  <eggert@twinsun.com>

	* posix/fnmatch_loop.c (FCT): Use locale's collating sequence when
	deciding whether a character falls within a character range.

2000-01-24  Paul Eggert  <eggert@twinsun.com>

	* posix/fnmatch_loop.c (FCT): When matching [A-Z] and folding case,
	lower-case A too.

2000-01-24  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/unix/sysv/linux/i386/syscalls.list: Remove old[gs]etrlimit.
This commit is contained in:
Ulrich Drepper
2000-01-26 02:20:01 +00:00
parent 14a6b4e45f
commit 9de4e20340
5 changed files with 80 additions and 22 deletions

View File

@@ -247,8 +247,9 @@ FCT (pattern, string, no_leading_period, flags)
return FNM_NOMATCH;
else
{
c = FOLD (c);
normal_bracket:
if (FOLD (c) == fn)
if (c == fn)
goto matched;
cold = c;
@@ -257,14 +258,26 @@ FCT (pattern, string, no_leading_period, flags)
if (c == L('-') && *p != L(']'))
{
/* It is a range. */
CHAR lo[2];
CHAR fc[2];
UCHAR cend = *p++;
if (!(flags & FNM_NOESCAPE) && cend == L('\\'))
cend = *p++;
if (cend == L('\0'))
return FNM_NOMATCH;
if (cold <= fn && fn <= FOLD (cend))
goto matched;
lo[0] = cold;
lo[1] = L('\0');
fc[0] = fn;
fc[1] = L('\0');
if (STRCOLL (lo, fc) <= 0)
{
CHAR hi[2];
hi[0] = FOLD (cend);
hi[1] = L('\0');
if (STRCOLL (fc, hi) <= 0)
goto matched;
}
c = *p++;
}