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:

committed by
Junio C Hamano

parent
8a35b540a9
commit
09872f6418
7
grep.c
7
grep.c
@ -606,7 +606,6 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
int regflags = REG_NEWLINE;
|
int regflags = REG_NEWLINE;
|
||||||
int pat_is_fixed;
|
|
||||||
|
|
||||||
p->word_regexp = opt->word_regexp;
|
p->word_regexp = opt->word_regexp;
|
||||||
p->ignore_case = opt->ignore_case;
|
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)
|
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"));
|
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);
|
p->is_fixed = is_fixed(p->pattern, p->patternlen);
|
||||||
if (p->fixed || pat_is_fixed) {
|
if (p->fixed || p->is_fixed) {
|
||||||
#ifdef USE_LIBPCRE2
|
#ifdef USE_LIBPCRE2
|
||||||
opt->pcre2 = 1;
|
opt->pcre2 = 1;
|
||||||
if (pat_is_fixed) {
|
if (p->is_fixed) {
|
||||||
compile_pcre2_pattern(p, opt);
|
compile_pcre2_pattern(p, opt);
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
|
1
grep.h
1
grep.h
@ -88,6 +88,7 @@ struct grep_pat {
|
|||||||
pcre2_compile_context *pcre2_compile_context;
|
pcre2_compile_context *pcre2_compile_context;
|
||||||
uint32_t pcre2_jit_on;
|
uint32_t pcre2_jit_on;
|
||||||
unsigned fixed:1;
|
unsigned fixed:1;
|
||||||
|
unsigned is_fixed:1;
|
||||||
unsigned ignore_case:1;
|
unsigned ignore_case:1;
|
||||||
unsigned word_regexp:1;
|
unsigned word_regexp:1;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user