Fixes for corner cases (thanks, Bradley!)
This commit is contained in:
parent
adc1f9a434
commit
33be461bcb
|
@ -39,7 +39,11 @@ static int matchesPattern(const char *fname, const char *wildcard,
|
||||||
y = *wildptr;
|
y = *wildptr;
|
||||||
if (y == '*')
|
if (y == '*')
|
||||||
{
|
{
|
||||||
wildptr++;
|
do
|
||||||
|
{
|
||||||
|
wildptr++; /* skip multiple '*' in a row... */
|
||||||
|
} while (*wildptr == '*');
|
||||||
|
|
||||||
y = (caseSensitive) ? *wildptr : (char) tolower(*wildptr);
|
y = (caseSensitive) ? *wildptr : (char) tolower(*wildptr);
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
|
@ -74,9 +78,11 @@ static int matchesPattern(const char *fname, const char *wildcard,
|
||||||
if (x != y)
|
if (x != y)
|
||||||
return(0);
|
return(0);
|
||||||
} /* else */
|
} /* else */
|
||||||
|
|
||||||
} /* while */
|
} /* while */
|
||||||
|
|
||||||
|
while (*wildptr == '*')
|
||||||
|
wildptr++;
|
||||||
|
|
||||||
return(*fnameptr == *wildptr);
|
return(*fnameptr == *wildptr);
|
||||||
} /* matchesPattern */
|
} /* matchesPattern */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue