summaryrefslogtreecommitdiff
path: root/grep.h
diff options
context:
space:
mode:
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>2012-05-20 16:33:07 +0200
committerJunio C Hamano <gitster@pobox.com>2012-05-20 15:25:46 -0700
commit526a858a99ace6698823740374edc3e35b87901a (patch)
tree7e8e8385829962ef29f0024e8d1ef399e80388e2 /grep.h
parent2b3873ff34ff937dad729407da4308be6a5bcd66 (diff)
downloadgit-526a858a99ace6698823740374edc3e35b87901a.tar.gz
grep: support newline separated pattern list
Currently, patterns that contain newline characters don't match anything when given to git grep. Regular grep(1) interprets patterns as lists of newline separated search strings instead. Implement this functionality by creating and inserting extra grep_pat structures for patterns consisting of multiple lines when appending to the pattern lists. For simplicity, all pattern strings are duplicated. The original pattern is truncated in place to make it contain only the first line. Requested-by: Torne (Richard Coles) <torne@google.com> Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'grep.h')
-rw-r--r--grep.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/grep.h b/grep.h
index cd055cdfa8..5b083affe1 100644
--- a/grep.h
+++ b/grep.h
@@ -35,7 +35,7 @@ struct grep_pat {
const char *origin;
int no;
enum grep_pat_token token;
- const char *pattern;
+ char *pattern;
size_t patternlen;
enum grep_header_field field;
regex_t regexp;