From: Nguyễn Thái Ngọc Duy Date: Sun, 09 Jun 2013 06:25:39 GMT Subject: [PATCH 06/45] parse_pathspec: save original pathspec for reporting Message-ID: <1370759178-1709-7-git-send-email-pclouds@gmail.com> In-Reply-To: <1370759178-1709-1-git-send-email-pclouds@gmail.com> 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 --- dir.c | 1 + pathspec.c | 2 ++ pathspec.h | 1 + 3 files changed, 4 insertions(+) diff --git a/dir.c b/dir.c index b8e68c2..c0b284f 100644 --- a/dir.c +++ b/dir.c @@ -1601,6 +1601,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()) { diff --git a/pathspec.c b/pathspec.c index b49bd51..89bdc7f 100644 --- a/pathspec.c +++ b/pathspec.c @@ -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, 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; diff --git a/pathspec.h b/pathspec.h index 937ec91..cc5841b 100644 --- a/pathspec.h +++ b/pathspec.h @@ -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; -- 1.8.2.83.gc99314b