Skip to content

Commit

Permalink
wildmatch: replace variable 'special' with better named ones
Browse files Browse the repository at this point in the history
'special' is too generic and is used for two different purposes.
Replace it with 'match_slash' to indicate "**" pattern and 'negated'
for "[!...]" and "[^...]".

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Nguyễn Thái Ngọc Duy authored and Junio C Hamano committed Jan 1, 2013
1 parent 889316d commit b6a3d33
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions wildmatch.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static int dowild(const uchar *p, const uchar *text, int force_lower_case)
const uchar *pattern = p;

for ( ; (p_ch = *p) != '\0'; text++, p++) {
int matched, special;
int matched, match_slash, negated;
uchar t_ch, prev_ch;
if ((t_ch = *text) == '\0' && p_ch != '*')
return ABORT_ALL;
Expand Down Expand Up @@ -103,15 +103,15 @@ static int dowild(const uchar *p, const uchar *text, int force_lower_case)
if (p[0] == '/' &&
dowild(p + 1, text, force_lower_case) == MATCH)
return MATCH;
special = TRUE;
match_slash = TRUE;
} else
return ABORT_MALFORMED;
} else
special = FALSE;
match_slash = FALSE;
if (*p == '\0') {
/* Trailing "**" matches everything. Trailing "*" matches
* only if there are no more slash characters. */
if (!special) {
if (!match_slash) {
if (strchr((char*)text, '/') != NULL)
return NOMATCH;
}
Expand All @@ -121,9 +121,9 @@ static int dowild(const uchar *p, const uchar *text, int force_lower_case)
if (t_ch == '\0')
break;
if ((matched = dowild(p, text, force_lower_case)) != NOMATCH) {
if (!special || matched != ABORT_TO_STARSTAR)
if (!match_slash || matched != ABORT_TO_STARSTAR)
return matched;
} else if (!special && t_ch == '/')
} else if (!match_slash && t_ch == '/')
return ABORT_TO_STARSTAR;
t_ch = *++text;
}
Expand All @@ -135,8 +135,8 @@ static int dowild(const uchar *p, const uchar *text, int force_lower_case)
p_ch = NEGATE_CLASS;
#endif
/* Assign literal TRUE/FALSE because of "matched" comparison. */
special = p_ch == NEGATE_CLASS? TRUE : FALSE;
if (special) {
negated = p_ch == NEGATE_CLASS? TRUE : FALSE;
if (negated) {
/* Inverted character class. */
p_ch = *++p;
}
Expand Down Expand Up @@ -218,7 +218,7 @@ static int dowild(const uchar *p, const uchar *text, int force_lower_case)
} else if (t_ch == p_ch)
matched = TRUE;
} while (prev_ch = p_ch, (p_ch = *++p) != ']');
if (matched == special || t_ch == '/')
if (matched == negated || t_ch == '/')
return NOMATCH;
continue;
}
Expand Down

0 comments on commit b6a3d33

Please sign in to comment.