提交 eb07894f 编写于 作者: N Nguyễn Thái Ngọc Duy 提交者: Junio C Hamano

use wildmatch() directly without fnmatch() wrapper

Make it clear that we don't use fnmatch() anymore.
Signed-off-by: NNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 5f95c9f8
......@@ -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);
}
......
......@@ -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++;
}
......
......@@ -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? */
......
......@@ -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)
......
......@@ -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;
......
......@@ -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)
......
......@@ -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))
......
......@@ -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)
......
......@@ -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);
......
......@@ -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;
}
......
......@@ -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)
......
......@@ -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,
......@@ -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;
}
......@@ -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,
......
......@@ -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);
}
......
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册