diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-03-27 19:44:25 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-03-27 19:44:25 +0000 |
commit | fd713a85eb6c0ac3df6fa25ed6c5b990a5c3d174 (patch) | |
tree | 54c9447a78b897571fcb1478d3d287fdec673b21 /ext/File/Glob | |
parent | cf12903ca1e8dcad2bad2d86cfffd682bdcb399e (diff) | |
download | perl-fd713a85eb6c0ac3df6fa25ed6c5b990a5c3d174.tar.gz |
If directory entries compare equal case-insensitively,
retry case-sensitively.
p4raw-id: //depot/perl@9385
Diffstat (limited to 'ext/File/Glob')
-rw-r--r-- | ext/File/Glob/bsd_glob.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/File/Glob/bsd_glob.c b/ext/File/Glob/bsd_glob.c index 55f8312186..a0becd1e14 100644 --- a/ext/File/Glob/bsd_glob.c +++ b/ext/File/Glob/bsd_glob.c @@ -545,13 +545,17 @@ ci_compare(const void *p, const void *q) { const char *pp = *(const char **)p; const char *qq = *(const char **)q; + int ci; while (*pp && *qq) { if (tolower(*pp) != tolower(*qq)) break; ++pp; ++qq; } - return (tolower(*pp) - tolower(*qq)); + ci = tolower(*pp) - tolower(*qq); + if (ci == 0) + return compare(p, q); + return ci; } static int |