aboutsummaryrefslogtreecommitdiff
path: root/grep.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2012-09-29 11:41:27 +0700
committerJunio C Hamano <gitster@pobox.com>2012-09-29 11:40:58 -0700
commitad4813b3c2513c5dc7e84305ab8a393b32124977 (patch)
tree336f7cc4fdf78e070f8342eeee8a3f11b343012a /grep.c
parent652398a88e7c3d18b6820a2ae369b05d26dc757f (diff)
downloadgit-ad4813b3c2513c5dc7e84305ab8a393b32124977.tar.gz
git-ad4813b3c2513c5dc7e84305ab8a393b32124977.tar.xz
grep: prepare for new header field filter
grep supports only author and committer headers, which have the same special treatment that later headers may or may not have. Check for field type and only strip_timestamp() when the field is either author or committer. GREP_HEADER_FIELD_MAX is put in the grep_header_field enum to be calculated automatically, correctly, as long as it's at the end of the enum. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'grep.c')
-rw-r--r--grep.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/grep.c b/grep.c
index 898be6ebf..8d73995e8 100644
--- a/grep.c
+++ b/grep.c
@@ -720,7 +720,14 @@ static int match_one_pattern(struct grep_pat *p, char *bol, char *eol,
if (strncmp(bol, field, len))
return 0;
bol += len;
- saved_ch = strip_timestamp(bol, &eol);
+ switch (p->field) {
+ case GREP_HEADER_AUTHOR:
+ case GREP_HEADER_COMMITTER:
+ saved_ch = strip_timestamp(bol, &eol);
+ break;
+ default:
+ break;
+ }
}
again: