Browse Source

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>
maint
Ævar Arnfjörð Bjarmason 6 years ago committed by Junio C Hamano
parent
commit
09872f6418
  1. 7
      grep.c
  2. 1
      grep.h

7
grep.c

@ -606,7 +606,6 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt) @@ -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) @@ -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

@ -88,6 +88,7 @@ struct grep_pat { @@ -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;
};

Loading…
Cancel
Save