unsigned char *pp = p + 1; /* cannot handle with pointer to register */
if(setcharset(&pp, charset)) {
int found = FALSE;
+ if(!*s)
+ return CURL_FNMATCH_NOMATCH;
if(charset[(unsigned int)*s])
found = TRUE;
else if(charset[CURLFNM_ALNUM])
if(found) {
p = pp + 1;
- if(*s)
- /* don't advance if we're matching on an empty string */
- s++;
+ s++;
memset(charset, 0, CURLFNM_CHSET_SIZE);
}
else
{ "*[^a].t?t", "a.txt", NOMATCH },
{ "*[^a].t?t", "ba.txt", NOMATCH },
{ "*[^a].t?t", "ab.txt", MATCH },
- { "*[^a]", "", MATCH },
- { "[!ÿ]", "", MATCH },
+ { "*[^a]", "", NOMATCH },
+ { "[!ÿ]", "", NOMATCH },
{ "[!?*[]", "?", NOMATCH },
{ "[!!]", "!", NOMATCH },
{ "[!!]", "x", MATCH },