Merge branch 'rs/maint-grep-F' into maint
"git grep -e '$pattern'", unlike the case where the patterns are read from a file, did not treat individual lines in the given pattern argument as separate regular expressions as it should. By René Scharfe * rs/maint-grep-F: grep: stop leaking line strings with -f grep: support newline separated pattern list grep: factor out do_append_grep_pat() grep: factor out create_grep_pat()
This commit is contained in:
@ -600,15 +600,12 @@ static int file_callback(const struct option *opt, const char *arg, int unset)
|
||||
if (!patterns)
|
||||
die_errno(_("cannot open '%s'"), arg);
|
||||
while (strbuf_getline(&sb, patterns, '\n') == 0) {
|
||||
char *s;
|
||||
size_t len;
|
||||
|
||||
/* ignore empty line like grep does */
|
||||
if (sb.len == 0)
|
||||
continue;
|
||||
|
||||
s = strbuf_detach(&sb, &len);
|
||||
append_grep_pat(grep_opt, s, len, arg, ++lno, GREP_PATTERN);
|
||||
append_grep_pat(grep_opt, sb.buf, sb.len, arg, ++lno,
|
||||
GREP_PATTERN);
|
||||
}
|
||||
if (!from_stdin)
|
||||
fclose(patterns);
|
||||
|
||||
Reference in New Issue
Block a user