diff options
author | Brandon Williams <bmwill@google.com> | 2017-01-04 10:03:59 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-01-08 18:04:17 -0800 |
commit | e1e24edc1a86ef1f7639b3bbebc82c045d3c27b6 (patch) | |
tree | ad1348538bf307e8b049a63eeadb987f2de0e561 /builtin | |
parent | 966de3028b190993329d2ed3af4d3d50059f6483 (diff) | |
download | git-e1e24edc1a86ef1f7639b3bbebc82c045d3c27b6.tar.gz git-e1e24edc1a86ef1f7639b3bbebc82c045d3c27b6.tar.xz |
ls-tree: convert show_recursive to use the pathspec struct interface
Convert 'show_recursive()' to use the pathspec struct interface from
using the '_raw' entry in the pathspec struct.
Signed-off-by: Brandon Williams <bmwill@google.com>
Reviewed-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/ls-tree.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/builtin/ls-tree.c b/builtin/ls-tree.c index 0e30d8623..d7ebeb4ce 100644 --- a/builtin/ls-tree.c +++ b/builtin/ls-tree.c @@ -31,21 +31,18 @@ static const char * const ls_tree_usage[] = { static int show_recursive(const char *base, int baselen, const char *pathname) { - const char **s; + int i; if (ls_options & LS_RECURSIVE) return 1; - s = pathspec._raw; - if (!s) + if (!pathspec.nr) return 0; - for (;;) { - const char *spec = *s++; + for (i = 0; i < pathspec.nr; i++) { + const char *spec = pathspec.items[i].match; int len, speclen; - if (!spec) - return 0; if (strncmp(base, spec, baselen)) continue; len = strlen(pathname); @@ -59,6 +56,7 @@ static int show_recursive(const char *base, int baselen, const char *pathname) continue; return 1; } + return 0; } static int show_tree(const unsigned char *sha1, struct strbuf *base, @@ -175,8 +173,8 @@ int cmd_ls_tree(int argc, const char **argv, const char *prefix) * cannot be lifted until it is converted to use * match_pathspec() or tree_entry_interesting() */ - parse_pathspec(&pathspec, PATHSPEC_GLOB | PATHSPEC_ICASE | - PATHSPEC_EXCLUDE, + parse_pathspec(&pathspec, PATHSPEC_ALL_MAGIC & + ~(PATHSPEC_FROMTOP | PATHSPEC_LITERAL), PATHSPEC_PREFER_CWD, prefix, argv + 1); for (i = 0; i < pathspec.nr; i++) |