[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Grep-devel] Proposed patch: remove DFA_CASE_FOLD
From: |
arnold |
Subject: |
[Grep-devel] Proposed patch: remove DFA_CASE_FOLD |
Date: |
Tue, 29 Nov 2016 03:49:52 -0700 |
User-agent: |
Heirloom mailx 12.4 7/29/08 |
Hi.
Regex already gives us RE_ICASE. dfa.c can just use that instead
of DFA_CASE_FOLD.
For me this passes all tests.
Thanks,
Arnold
--------------------------------------
diff --git a/lib/dfa.c b/lib/dfa.c
index 673ef95..69eb16f 100644
--- a/lib/dfa.c
+++ b/lib/dfa.c
@@ -3992,7 +3992,7 @@ dfasyntax (struct dfa *dfa, struct localeinfo const
*linfo,
dfa->canychar = -1;
dfa->lex.cur_mb_len = 1;
dfa->syntax.syntax_bits_set = true;
- dfa->syntax.case_fold = (dfaopts & DFA_CASE_FOLD) != 0;
+ dfa->syntax.case_fold = (bits & RE_ICASE) != 0;
dfa->syntax.anchor = (dfaopts & DFA_ANCHOR) != 0;
dfa->syntax.eolbyte = dfaopts & DFA_EOL_NUL ? '\0' : '\n';
dfa->syntax.syntax_bits = bits;
diff --git a/lib/dfa.h b/lib/dfa.h
index 9787d76..500ee76 100644
--- a/lib/dfa.h
+++ b/lib/dfa.h
@@ -58,11 +58,8 @@ enum
possibly true for other apps. */
DFA_ANCHOR = 1 << 0,
- /* Ignore case while matching. */
- DFA_CASE_FOLD = 1 << 1,
-
/* '\0' in data is end-of-line, instead of the traditional '\n'. */
- DFA_EOL_NUL = 1 << 2
+ DFA_EOL_NUL = 1 << 1
};
/* Initialize or reinitialize a DFA. This must be called before
diff --git a/src/dfasearch.c b/src/dfasearch.c
index ded9917..7eec4d8 100644
--- a/src/dfasearch.c
+++ b/src/dfasearch.c
@@ -121,8 +121,7 @@ GEAcompile (char const *pattern, size_t size, reg_syntax_t
syntax_bits)
if (match_icase)
syntax_bits |= RE_ICASE;
re_set_syntax (syntax_bits);
- int dfaopts = ((match_icase ? DFA_CASE_FOLD : 0)
- | (eolbyte ? 0 : DFA_EOL_NUL));
+ int dfaopts = (eolbyte ? 0 : DFA_EOL_NUL);
dfasyntax (dfa, &localeinfo, syntax_bits, dfaopts);
/* For GNU regex, pass the patterns separately to detect errors like
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Grep-devel] Proposed patch: remove DFA_CASE_FOLD,
arnold <=