diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2016-11-29 19:49:02 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2016-11-29 19:49:02 +0200 |
commit | 4931b67d7efa50576cea9f3045cc9d70ea779f2e (patch) | |
tree | edc95611ecf3aa9e54043a4ba9852a0124174bfb | |
parent | b2aca8c7877af71e056210030ba2d8354a47d43f (diff) | |
download | egawk-4931b67d7efa50576cea9f3045cc9d70ea779f2e.tar.gz egawk-4931b67d7efa50576cea9f3045cc9d70ea779f2e.tar.bz2 egawk-4931b67d7efa50576cea9f3045cc9d70ea779f2e.zip |
Use RE_ICASE instead of DFA_CASE_FOLD in dfa.c and re.c.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dfa.c | 2 | ||||
-rw-r--r-- | dfa.h | 5 | ||||
-rw-r--r-- | re.c | 4 |
4 files changed, 9 insertions, 8 deletions
@@ -1,3 +1,9 @@ +2016-11-29 Arnold D. Robbins <arnold@skeeve.com> + + * dfa.c (dfasyntax): Use RE_ICASE instead of DFA_CASE_FOLD. + * dfa.h (DFA_CASE_FOLD): Removed. + * re.c (make_regexp): Use RE_ICASE for regex and dfa. Yay! + 2016-11-28 Arnold D. Robbins <arnold@skeeve.com> Make gawk compile on HP-UX 11.33. @@ -4018,7 +4018,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; @@ -62,11 +62,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 @@ -203,7 +203,6 @@ make_regexp(const char *s, size_t len, bool ignorecase, bool dfa, bool canfatal) } dfa_syn = syn; - /* FIXME: dfa doesn't pay attention RE_ICASE */ if (ignorecase) dfa_syn |= RE_ICASE; @@ -223,8 +222,7 @@ make_regexp(const char *s, size_t len, bool ignorecase, bool dfa, bool canfatal) rp->pat.newline_anchor = false; /* don't get \n in middle of string */ if (dfa && ! no_dfa) { rp->dfareg = dfaalloc(); - dfasyntax(rp->dfareg, & localeinfo, dfa_syn, - (ignorecase ? DFA_CASE_FOLD : 0) | DFA_ANCHOR); + dfasyntax(rp->dfareg, & localeinfo, dfa_syn, DFA_ANCHOR); dfacomp(buf, len, rp->dfareg, true); } else rp->dfareg = NULL; |