Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- builtin/apply.c | 3 ++- builtin/branch.c | 3 ++- builtin/describe.c | 3 ++- builtin/for-each-ref.c | 3 ++- builtin/ls-remote.c | 3 ++- builtin/name-rev.c | 3 ++- builtin/reflog.c | 3 ++- builtin/replace.c | 3 ++- builtin/show-branch.c | 3 ++- builtin/tag.c | 3 ++- diffcore-order.c | 3 ++- dir.c | 4 ++-- refs.c | 3 ++- tree-walk.c | 5 +++-- 14 files changed, 29 insertions(+), 16 deletions(-) diff --git a/builtin/apply.c b/builtin/apply.c index d2180b0..86ff51d 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -16,6 +16,7 @@ #include "dir.h" #include "diff.h" #include "parse-options.h" +#include "wildmatch.h" /* * --check turns on checking that the working tree matches the @@ -3786,7 +3787,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)) return (it->util != NULL); } diff --git a/builtin/branch.c b/builtin/branch.c index 0e060f2..81257c1 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -17,6 +17,7 @@ #include "revision.h" #include "string-list.h" #include "column.h" +#include "wildmatch.h" static const char * const builtin_branch_usage[] = { "git branch [options] [-r | -a] [--merged | --no-merged]", @@ -286,7 +287,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)) return 1; pattern++; } diff --git a/builtin/describe.c b/builtin/describe.c index 9f63067..1f55802 100644 --- a/builtin/describe.c +++ b/builtin/describe.c @@ -7,6 +7,7 @@ #include "parse-options.h" #include "diff.h" #include "hash.h" +#include "wildmatch.h" #define SEEN (1u<<0) #define MAX_TAGS (FLAG_BITS - 1) @@ -161,7 +162,7 @@ static int get_name(const char *path, const unsigned char *sha1, int flag, void else prio = 1; - if (pattern && fnmatch(pattern, path + 10, 0)) + if (pattern && wildmatch(pattern, path + 10, 0)) prio = 0; } else diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c index 0c5294e..85f87dd 100644 --- a/builtin/for-each-ref.c +++ b/builtin/for-each-ref.c @@ -9,6 +9,7 @@ #include "quote.h" #include "parse-options.h" #include "remote.h" +#include "wildmatch.h" /* Quoting styles */ #define QUOTE_NONE 0 @@ -794,7 +795,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, FNM_PATHNAME)) break; } if (!*pattern) diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index 41c88a9..8271fbb 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -2,6 +2,7 @@ #include "cache.h" #include "transport.h" #include "remote.h" +#include "wildmatch.h" static const char ls_remote_usage[] = "git ls-remote [--heads] [--tags] [-u <exec> | --upload-pack <exec>]\n" @@ -22,7 +23,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)) return 1; } return 0; diff --git a/builtin/name-rev.c b/builtin/name-rev.c index 1b37458..0cc3141 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -4,6 +4,7 @@ #include "tag.h" #include "refs.h" #include "parse-options.h" +#include "wildmatch.h" #define CUTOFF_DATE_SLOP 86400 /* one day */ @@ -97,7 +98,7 @@ static int name_ref(const char *path, const unsigned char *sha1, int flags, void if (data->tags_only && prefixcmp(path, "refs/tags/")) return 0; - if (data->ref_filter && fnmatch(data->ref_filter, path, 0)) + if (data->ref_filter && wildmatch(data->ref_filter, path, 0)) return 0; while (o && o->type == OBJ_TAG) { diff --git a/builtin/reflog.c b/builtin/reflog.c index 062d7da..39dd8b4 100644 --- a/builtin/reflog.c +++ b/builtin/reflog.c @@ -7,6 +7,7 @@ #include "diff.h" #include "revision.h" #include "reachable.h" +#include "wildmatch.h" /* * reflog expire @@ -561,7 +562,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)) { if (!(slot & EXPIRE_TOTAL)) cb->expire_total = ent->expire_total; if (!(slot & EXPIRE_UNREACH)) diff --git a/builtin/replace.c b/builtin/replace.c index 4a8970e..7fdefa8 100644 --- a/builtin/replace.c +++ b/builtin/replace.c @@ -12,6 +12,7 @@ #include "builtin.h" #include "refs.h" #include "parse-options.h" +#include "wildmatch.h" static const char * const git_replace_usage[] = { "git replace [-f] <object> <replacement>", @@ -25,7 +26,7 @@ static int show_reference(const char *refname, const unsigned char *sha1, { const char *pattern = cb_data; - if (!fnmatch(pattern, refname, 0)) + if (!wildmatch(pattern, refname, 0)) printf("%s\n", refname); return 0; diff --git a/builtin/show-branch.c b/builtin/show-branch.c index a59e088..f4fa165 100644 --- a/builtin/show-branch.c +++ b/builtin/show-branch.c @@ -4,6 +4,7 @@ #include "builtin.h" #include "color.h" #include "parse-options.h" +#include "wildmatch.h" static const char* show_branch_usage[] = { "git show-branch [-a|--all] [-r|--remotes] [--topo-order | --date-order] [--current] [--color[=<when>] | --no-color] [--sparse] [--more=<n> | --list | --independent | --merge-base] [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]", @@ -452,7 +453,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)) return 0; if (!prefixcmp(refname, "refs/heads/")) return append_head_ref(refname, sha1, flag, cb_data); diff --git a/builtin/tag.c b/builtin/tag.c index 7b1be85..89aead3 100644 --- a/builtin/tag.c +++ b/builtin/tag.c @@ -17,6 +17,7 @@ #include "gpg-interface.h" #include "sha1-array.h" #include "column.h" +#include "wildmatch.h" static const char * const git_tag_usage[] = { "git tag [-a|-s|-u <key-id>] [-f] [-m <msg>|-F <file>] <tagname> [<head>]", @@ -42,7 +43,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)) return 1; return 0; } diff --git a/diffcore-order.c b/diffcore-order.c index 23e9385..21eb30c 100644 --- a/diffcore-order.c +++ b/diffcore-order.c @@ -4,6 +4,7 @@ #include "cache.h" #include "diff.h" #include "diffcore.h" +#include "wildmatch.h" static char **order; static int order_cnt; @@ -79,7 +80,7 @@ static int match_order(const char *path) strcpy(p, path); while (p[0]) { char *cp; - if (!fnmatch(order[i], p, 0)) + if (!wildmatch(order[i], p, 0)) return i; cp = strrchr(p, '/'); if (!cp) diff --git a/dir.c b/dir.c index 7bbd6f8..c1339c4 100644 --- a/dir.c +++ b/dir.c @@ -32,7 +32,7 @@ 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 ? FNM_CASEFOLD : 0)); } static size_t common_prefix_len(const char **pathspec) @@ -231,7 +231,7 @@ static int match_pathspec_item(const struct pathspec_item *item, int prefix, return MATCHED_RECURSIVELY; } - if (item->use_wildcard && !fnmatch(match, name, 0)) + if (item->use_wildcard && !wildmatch(match, name, 0)) return MATCHED_FNMATCH; return 0; diff --git a/refs.c b/refs.c index da74a2b..47929d9 100644 --- a/refs.c +++ b/refs.c @@ -3,6 +3,7 @@ #include "object.h" #include "tag.h" #include "dir.h" +#include "wildmatch.h" /* * Make sure "ref" is something reasonable to have under ".git/refs/"; @@ -1188,7 +1189,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)) return 0; return filter->fn(refname, sha1, flags, filter->cb_data); } diff --git a/tree-walk.c b/tree-walk.c index 492c7cd..c729e89 100644 --- a/tree-walk.c +++ b/tree-walk.c @@ -3,6 +3,7 @@ #include "unpack-trees.h" #include "dir.h" #include "tree.h" +#include "wildmatch.h" static const char *get_mode(const char *str, unsigned int *modep) { @@ -627,7 +628,7 @@ enum interesting tree_entry_interesting(const struct name_entry *entry, return entry_interesting; if (item->use_wildcard) { - if (!fnmatch(match + baselen, entry->path, 0)) + if (!wildmatch(match + baselen, entry->path, 0)) return entry_interesting; /* @@ -652,7 +653,7 @@ match_wildcards: strbuf_add(base, entry->path, pathlen); - if (!fnmatch(match, base->buf + base_offset, 0)) { + if (!wildmatch(match, base->buf + base_offset, 0)) { strbuf_setlen(base, base_offset + baselen); return entry_interesting; } -- 1.8.0.rc2.23.g1fb49df -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html