From: Junio C Hamano Date: Sun, 13 Jun 2010 18:21:44 +0000 (-0700) Subject: Merge branch 'rs/grep-binary' X-Git-Tag: v1.7.2-rc0~77 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/534930807c230436a2b3f4891df810af0b8c0353?ds=inline;hp=-c Merge branch 'rs/grep-binary' * rs/grep-binary: grep: support NUL chars in search strings for -F grep: use REG_STARTEND for all matching if available grep: continue case insensitive fixed string search after NUL chars grep: use memmem() for fixed string search grep: --name-only over binary grep: --count over binary grep: grep: refactor handling of binary mode options grep: add test script for binary file handling --- 534930807c230436a2b3f4891df810af0b8c0353 diff --combined builtin/grep.c index b194ea3cea,7653d8492a..d0a73da07a --- a/builtin/grep.c +++ b/builtin/grep.c @@@ -17,8 -17,8 +17,8 @@@ #include "dir.h" #ifndef NO_PTHREADS -#include "thread-utils.h" #include +#include "thread-utils.h" #endif static char const * const grep_usage[] = { @@@ -724,11 -724,15 +724,15 @@@ static int file_callback(const struct o 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; - append_grep_pattern(grep_opt, strbuf_detach(&sb, NULL), arg, - ++lno, GREP_PATTERN); + + s = strbuf_detach(&sb, &len); + append_grep_pat(grep_opt, s, len, arg, ++lno, GREP_PATTERN); } fclose(patterns); strbuf_release(&sb);