grep: create a "is_fixed" member in "grep_pat"

This change paves the way for later using this value the regex compile
functions themselves.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2019-07-26 17:08:15 +02:00 committed by Junio C Hamano
parent 8a35b540a9
commit 09872f6418
2 changed files with 4 additions and 4 deletions

7
grep.c
View File

@ -606,7 +606,6 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt)
{
int err;
int regflags = REG_NEWLINE;
int pat_is_fixed;
p->word_regexp = opt->word_regexp;
p->ignore_case = opt->ignore_case;
@ -615,11 +614,11 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt)
if (memchr(p->pattern, 0, p->patternlen) && !opt->pcre2)
die(_("given pattern contains NULL byte (via -f <file>). This is only supported with -P under PCRE v2"));
pat_is_fixed = is_fixed(p->pattern, p->patternlen);
if (p->fixed || pat_is_fixed) {
p->is_fixed = is_fixed(p->pattern, p->patternlen);
if (p->fixed || p->is_fixed) {
#ifdef USE_LIBPCRE2
opt->pcre2 = 1;
if (pat_is_fixed) {
if (p->is_fixed) {
compile_pcre2_pattern(p, opt);
} else {
/*

1
grep.h
View File

@ -88,6 +88,7 @@ struct grep_pat {
pcre2_compile_context *pcre2_compile_context;
uint32_t pcre2_jit_on;
unsigned fixed:1;
unsigned is_fixed:1;
unsigned ignore_case:1;
unsigned word_regexp:1;
};