Skip to content

Commit

Permalink
use wildmatch() directly without fnmatch() wrapper
Browse files Browse the repository at this point in the history
Make it clear that we don't use fnmatch() anymore.

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
pclouds authored and gitster committed Feb 20, 2014
1 parent 5f95c9f commit eb07894
Show file tree
Hide file tree
Showing 14 changed files with 20 additions and 17 deletions.
2 changes: 1 addition & 1 deletion builtin/apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -4152,7 +4152,7 @@ static int use_patch(struct patch *p)
/* See if it matches any of exclude/include rule */
for (i = 0; i < limit_by_name.nr; i++) {
struct string_list_item *it = &limit_by_name.items[i];
if (!fnmatch(it->string, pathname, 0))
if (!wildmatch(it->string, pathname, 0, NULL))
return (it->util != NULL);
}

Expand Down
2 changes: 1 addition & 1 deletion builtin/branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ static int match_patterns(const char **pattern, const char *refname)
if (!*pattern)
return 1; /* no pattern always matches */
while (*pattern) {
if (!fnmatch(*pattern, refname, 0))
if (!wildmatch(*pattern, refname, 0, NULL))
return 1;
pattern++;
}
Expand Down
2 changes: 1 addition & 1 deletion builtin/describe.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void
return 0;

/* Accept only tags that match the pattern, if given */
if (pattern && (!is_tag || fnmatch(pattern, path + 10, 0)))
if (pattern && (!is_tag || wildmatch(pattern, path + 10, 0, NULL)))
return 0;

/* Is it annotated? */
Expand Down
2 changes: 1 addition & 1 deletion builtin/for-each-ref.c
Original file line number Diff line number Diff line change
Expand Up @@ -864,7 +864,7 @@ static int grab_single_ref(const char *refname, const unsigned char *sha1, int f
refname[plen] == '/' ||
p[plen-1] == '/'))
break;
if (!fnmatch(p, refname, FNM_PATHNAME))
if (!wildmatch(p, refname, WM_PATHNAME, NULL))
break;
}
if (!*pattern)
Expand Down
2 changes: 1 addition & 1 deletion builtin/ls-remote.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ static int tail_match(const char **pattern, const char *path)
if (snprintf(pathbuf, sizeof(pathbuf), "/%s", path) > sizeof(pathbuf))
return error("insanely long ref %.*s...", 20, path);
while ((p = *(pattern++)) != NULL) {
if (!fnmatch(p, pathbuf, 0))
if (!wildmatch(p, pathbuf, 0, NULL))
return 1;
}
return 0;
Expand Down
2 changes: 1 addition & 1 deletion builtin/name-rev.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ static int subpath_matches(const char *path, const char *filter)
const char *subpath = path;

while (subpath) {
if (!fnmatch(filter, subpath, 0))
if (!wildmatch(filter, subpath, 0, NULL))
return subpath - path;
subpath = strchr(subpath, '/');
if (subpath)
Expand Down
2 changes: 1 addition & 1 deletion builtin/reflog.c
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ static void set_reflog_expiry_param(struct cmd_reflog_expire_cb *cb, int slot, c
return; /* both given explicitly -- nothing to tweak */

for (ent = reflog_expire_cfg; ent; ent = ent->next) {
if (!fnmatch(ent->pattern, ref, 0)) {
if (!wildmatch(ent->pattern, ref, 0, NULL)) {
if (!(slot & EXPIRE_TOTAL))
cb->expire_total = ent->expire_total;
if (!(slot & EXPIRE_UNREACH))
Expand Down
2 changes: 1 addition & 1 deletion builtin/replace.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static int show_reference(const char *refname, const unsigned char *sha1,
{
struct show_data *data = cb_data;

if (!fnmatch(data->pattern, refname, 0)) {
if (!wildmatch(data->pattern, refname, 0, NULL)) {
if (data->format == REPLACE_FORMAT_SHORT)
printf("%s\n", refname);
else if (data->format == REPLACE_FORMAT_MEDIUM)
Expand Down
2 changes: 1 addition & 1 deletion builtin/show-branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ static int append_matching_ref(const char *refname, const unsigned char *sha1, i
slash--;
if (!*tail)
return 0;
if (fnmatch(match_ref_pattern, tail, 0))
if (wildmatch(match_ref_pattern, tail, 0, NULL))
return 0;
if (starts_with(refname, "refs/heads/"))
return append_head_ref(refname, sha1, flag, cb_data);
Expand Down
2 changes: 1 addition & 1 deletion builtin/tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ static int match_pattern(const char **patterns, const char *ref)
if (!*patterns)
return 1;
for (; *patterns; patterns++)
if (!fnmatch(*patterns, ref, 0))
if (!wildmatch(*patterns, ref, 0, NULL))
return 1;
return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion diffcore-order.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ static int match_order(const char *path)
strbuf_addstr(&p, path);
while (p.buf[0]) {
char *cp;
if (!fnmatch(order[i], p.buf, 0))
if (!wildmatch(order[i], p.buf, 0, NULL))
return i;
cp = strrchr(p.buf, '/');
if (!cp)
Expand Down
11 changes: 7 additions & 4 deletions dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ int strncmp_icase(const char *a, const char *b, size_t count)

int fnmatch_icase(const char *pattern, const char *string, int flags)
{
return fnmatch(pattern, string, flags | (ignore_case ? FNM_CASEFOLD : 0));
return wildmatch(pattern, string,
flags | (ignore_case ? WM_CASEFOLD : 0),
NULL);
}

inline int git_fnmatch(const struct pathspec_item *item,
Expand All @@ -58,7 +60,7 @@ inline int git_fnmatch(const struct pathspec_item *item,
{
if (prefix > 0) {
if (ps_strncmp(item, pattern, string, prefix))
return FNM_NOMATCH;
return WM_NOMATCH;
pattern += prefix;
string += prefix;
}
Expand All @@ -76,8 +78,9 @@ inline int git_fnmatch(const struct pathspec_item *item,
NULL);
else
/* wildmatch has not learned no FNM_PATHNAME mode yet */
return fnmatch(pattern, string,
item->magic & PATHSPEC_ICASE ? FNM_CASEFOLD : 0);
return wildmatch(pattern, string,
item->magic & PATHSPEC_ICASE ? WM_CASEFOLD : 0,
NULL);
}

static int fnmatch_icase_mem(const char *pattern, int patternlen,
Expand Down
2 changes: 1 addition & 1 deletion refs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1477,7 +1477,7 @@ static int filter_refs(const char *refname, const unsigned char *sha1, int flags
void *data)
{
struct ref_filter *filter = (struct ref_filter *)data;
if (fnmatch(filter->pattern, refname, 0))
if (wildmatch(filter->pattern, refname, 0, NULL))
return 0;
return filter->fn(refname, sha1, flags, filter->cb_data);
}
Expand Down
2 changes: 1 addition & 1 deletion revision.c
Original file line number Diff line number Diff line change
Expand Up @@ -1191,7 +1191,7 @@ int ref_excluded(struct string_list *ref_excludes, const char *path)
if (!ref_excludes)
return 0;
for_each_string_list_item(item, ref_excludes) {
if (!fnmatch(item->string, path, 0))
if (!wildmatch(item->string, path, 0, NULL))
return 1;
}
return 0;
Expand Down

0 comments on commit eb07894

Please sign in to comment.