diff options
author | ache <ache@FreeBSD.org> | 1997-04-04 18:44:19 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1997-04-04 18:44:19 +0000 |
commit | 9f599254e5f962e4d5f614b2fce1409bb1362462 (patch) | |
tree | 83db69c797a6aa8f93e5bd1f5489c7e340ecd0d6 /lib/libc/gen/fnmatch.c | |
parent | 13cee1ee0505f8dc0434fc0c46b9e5df37072d26 (diff) | |
download | FreeBSD-src-9f599254e5f962e4d5f614b2fce1409bb1362462.zip FreeBSD-src-9f599254e5f962e4d5f614b2fce1409bb1362462.tar.gz |
Speedup in case locale not used
Diffstat (limited to 'lib/libc/gen/fnmatch.c')
-rw-r--r-- | lib/libc/gen/fnmatch.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libc/gen/fnmatch.c b/lib/libc/gen/fnmatch.c index f53963a..bd818cf 100644 --- a/lib/libc/gen/fnmatch.c +++ b/lib/libc/gen/fnmatch.c @@ -187,8 +187,12 @@ rangematch(pattern, test, flags) if (flags & FNM_CASEFOLD) c2 = tolower((unsigned char)c2); - if ( __collate_range_cmp(c, test) <= 0 - && __collate_range_cmp(test, c2) <= 0 + if ( ( __collate_load_error + && c <= test && test <= c2 + ) + || ( __collate_range_cmp(c, test) <= 0 + && __collate_range_cmp(test, c2) <= 0 + ) ) ok = 1; } else if (c == test) |