grep: grep: refactor handling of binary mode options
Turn the switch inside-out and add labels for each possible value of ->binary. This makes the code easier to read and avoids calling buffer_is_binary() if the option -a was given. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
aca20dd558
commit
64fcec78b5
20
grep.c
20
grep.c
@ -800,17 +800,19 @@ static int grep_buffer_1(struct grep_opt *opt, const char *name,
|
||||
opt->show_hunk_mark = 1;
|
||||
opt->last_shown = 0;
|
||||
|
||||
if (buffer_is_binary(buf, size)) {
|
||||
switch (opt->binary) {
|
||||
case GREP_BINARY_DEFAULT:
|
||||
switch (opt->binary) {
|
||||
case GREP_BINARY_DEFAULT:
|
||||
if (buffer_is_binary(buf, size))
|
||||
binary_match_only = 1;
|
||||
break;
|
||||
case GREP_BINARY_NOMATCH:
|
||||
break;
|
||||
case GREP_BINARY_NOMATCH:
|
||||
if (buffer_is_binary(buf, size))
|
||||
return 0; /* Assume unmatch */
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case GREP_BINARY_TEXT:
|
||||
break;
|
||||
default:
|
||||
die("bug: unknown binary handling mode");
|
||||
}
|
||||
|
||||
memset(&xecfg, 0, sizeof(xecfg));
|
||||
|
Loading…
Reference in New Issue
Block a user