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->show_hunk_mark = 1;
|
||||||
opt->last_shown = 0;
|
opt->last_shown = 0;
|
||||||
|
|
||||||
if (buffer_is_binary(buf, size)) {
|
switch (opt->binary) {
|
||||||
switch (opt->binary) {
|
case GREP_BINARY_DEFAULT:
|
||||||
case GREP_BINARY_DEFAULT:
|
if (buffer_is_binary(buf, size))
|
||||||
binary_match_only = 1;
|
binary_match_only = 1;
|
||||||
break;
|
break;
|
||||||
case GREP_BINARY_NOMATCH:
|
case GREP_BINARY_NOMATCH:
|
||||||
|
if (buffer_is_binary(buf, size))
|
||||||
return 0; /* Assume unmatch */
|
return 0; /* Assume unmatch */
|
||||||
break;
|
break;
|
||||||
default:
|
case GREP_BINARY_TEXT:
|
||||||
break;
|
break;
|
||||||
}
|
default:
|
||||||
|
die("bug: unknown binary handling mode");
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(&xecfg, 0, sizeof(xecfg));
|
memset(&xecfg, 0, sizeof(xecfg));
|
||||||
|
Loading…
Reference in New Issue
Block a user