+@@ -331,12 +348,14 @@ int wildmatch_array(const char *pattern,
+ if (!text)
+ return FALSE;
+
++ force_lower_case = ignore_case;
++
+ if ((matched = dowild(p, text, a)) != TRUE && where < 0
+ && matched != ABORT_ALL) {
+ while (1) {
+ if (*text == '\0') {
+ if ((text = (uchar*)*a++) == NULL)
+- return FALSE;
++ break;
+ continue;
+ }
+ if (*text++ == '/' && (matched = dowild(p, text, a)) != FALSE
+@@ -344,6 +363,9 @@ int wildmatch_array(const char *pattern,
+ break;
+ }
+ }
++
++ force_lower_case = 0;
++
+ return matched == TRUE;
+ }
+