diff options
Diffstat (limited to 'pathspec.c')
-rw-r--r-- | pathspec.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/pathspec.c b/pathspec.c index 828405021f..82eb39cd67 100644 --- a/pathspec.c +++ b/pathspec.c @@ -1,5 +1,6 @@ #define NO_THE_INDEX_COMPATIBILITY_MACROS #include "cache.h" +#include "config.h" #include "dir.h" #include "pathspec.h" #include "attr.h" @@ -525,17 +526,13 @@ static void NORETURN unsupported_magic(const char *pattern, pattern, sb.buf); } -/* - * Given command line arguments and a prefix, convert the input to - * pathspec. die() if any magic in magic_mask is used. - */ void parse_pathspec(struct pathspec *pathspec, unsigned magic_mask, unsigned flags, const char *prefix, const char **argv) { struct pathspec_item *item; const char *entry = argv ? *argv : NULL; - int i, n, prefixlen, warn_empty_string, nr_exclude = 0; + int i, n, prefixlen, nr_exclude = 0; memset(pathspec, 0, sizeof(*pathspec)); @@ -568,13 +565,10 @@ void parse_pathspec(struct pathspec *pathspec, } n = 0; - warn_empty_string = 1; while (argv[n]) { - if (*argv[n] == '\0' && warn_empty_string) { - warning(_("empty strings as pathspecs will be made invalid in upcoming releases. " - "please use . instead if you meant to match all paths")); - warn_empty_string = 0; - } + if (*argv[n] == '\0') + die("empty string is not a valid pathspec. " + "please use . instead if you meant to match all paths"); n++; } @@ -605,7 +599,7 @@ void parse_pathspec(struct pathspec *pathspec, /* * If everything is an exclude pattern, add one positive pattern - * that matches everyting. We allocated an extra one for this. + * that matches everything. We allocated an extra one for this. */ if (nr_exclude == n) { int plen = (!(flags & PATHSPEC_PREFER_CWD)) ? 0 : prefixlen; @@ -662,7 +656,6 @@ void clear_pathspec(struct pathspec *pathspec) attr_check_free(pathspec->items[i].attr_check); } - free(pathspec->items); - pathspec->items = NULL; + FREE_AND_NULL(pathspec->items); pathspec->nr = 0; } |