Browse Source

parse_pathspec: save original pathspec for reporting

We usually use pathspec_item's match field for pathspec error
reporting. However "match" (or "raw") does not show the magic part,
which will play more important role later on. Preserve exact user
input for reporting.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 12 years ago committed by Junio C Hamano
parent
commit
d2ce133195
  1. 1
      dir.c
  2. 2
      pathspec.c
  3. 1
      pathspec.h

1
dir.c

@ -1599,6 +1599,7 @@ int init_pathspec(struct pathspec *pathspec, const char **paths) @@ -1599,6 +1599,7 @@ int init_pathspec(struct pathspec *pathspec, const char **paths)
const char *path = paths[i];

item->match = path;
item->original = path;
item->len = strlen(path);
item->flags = 0;
if (limit_pathspec_to_literal()) {

2
pathspec.c

@ -203,6 +203,7 @@ static unsigned prefix_pathspec(struct pathspec_item *item, @@ -203,6 +203,7 @@ static unsigned prefix_pathspec(struct pathspec_item *item,
else
match = prefix_path(prefix, prefixlen, copyfrom);
*raw = item->match = match;
item->original = elt;
item->len = strlen(item->match);
if (limit_pathspec_to_literal())
item->nowildcard_len = item->len;
@ -277,6 +278,7 @@ void parse_pathspec(struct pathspec *pathspec, @@ -277,6 +278,7 @@ void parse_pathspec(struct pathspec *pathspec,
pathspec->items = item = xmalloc(sizeof(*item));
memset(item, 0, sizeof(*item));
item->match = prefix;
item->original = prefix;
item->nowildcard_len = item->len = strlen(prefix);
raw[0] = prefix;
raw[1] = NULL;

1
pathspec.h

@ -16,6 +16,7 @@ struct pathspec { @@ -16,6 +16,7 @@ struct pathspec {
int max_depth;
struct pathspec_item {
const char *match;
const char *original;
unsigned magic;
int len;
int nowildcard_len;

Loading…
Cancel
Save