If directory entries compare equal case-insensitively,
Jarkko Hietaniemi [Tue, 27 Mar 2001 19:44:25 +0000 (19:44 +0000)]
retry case-sensitively.

p4raw-id: //depot/perl@9385

ext/File/Glob/bsd_glob.c

index 55f8312..a0becd1 100644 (file)
@@ -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