summaryrefslogtreecommitdiff
path: root/ext/File/Glob
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-03-27 19:44:25 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-03-27 19:44:25 +0000
commitfd713a85eb6c0ac3df6fa25ed6c5b990a5c3d174 (patch)
tree54c9447a78b897571fcb1478d3d287fdec673b21 /ext/File/Glob
parentcf12903ca1e8dcad2bad2d86cfffd682bdcb399e (diff)
downloadperl-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.c6
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