diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-11-16 07:14:28 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-11-16 07:14:28 +0000 |
commit | f0c7c524bb92cdc42cc4e0f7ba1ddda865a4494c (patch) | |
tree | f06d459ac9d5a2d7c02591cd5375dd7ad6ff7a1e /posix/regexec.c | |
parent | 2def87644d44b41bb908d4ed150a110d4d9399ea (diff) | |
download | glibc-f0c7c524bb92cdc42cc4e0f7ba1ddda865a4494c.zip glibc-f0c7c524bb92cdc42cc4e0f7ba1ddda865a4494c.tar.gz glibc-f0c7c524bb92cdc42cc4e0f7ba1ddda865a4494c.tar.bz2 |
Update.
* posix/regex_internal.h: Add forward declaration of re_dfa_t.
Replace last two parameters of re_string_allocate and
re_string_construct with pointer to DFA.
(re_dfa_t): Add map_notascii field.
* posix/regcomp.c (re_compile_internal): Add call of
re_string_construct.
(init_dfa): Initialize mpa_notascii.
* posix/regex_internal.c: Adjust definitions of re_string_allocate
and re_string_construct.
Pass DFA to re_string_construct. Adjust definition. Initialize
map_notascii field.
(build_wcs_upper_buffer): If map_notascii is zero use simplfied
method to map ASCII values to upper case.
* posix/regex.c: Include localeinfo.h.
* posix/regexec.c: Adjust call of re_string_allocate.
* locale/langinfo.h: Add _NL_CTYPE_MAP_TO_NONASCII.
* locale/localeinfo.h (LIMAGIC): Change value.
* locale/categories.def. Add entry for _NL_CTYPE_MAP_TO_NONASCII.
* locale/C-ctype.h: Likewise.
* locale/programs/ld-ctype.c: Compute whether any mapping maps from
ASCII to non-ASCII value. Write out that value.
Diffstat (limited to 'posix/regexec.c')
-rw-r--r-- | posix/regexec.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/posix/regexec.c b/posix/regexec.c index e962275..7470197 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -605,8 +605,7 @@ re_search_internal (preg, string, length, start, range, stop, nmatch, pmatch, fl_longest_match = (nmatch != 0 || dfa->nbackref); err = re_string_allocate (&input, string, length, dfa->nodes_len + 1, - preg->translate, preg->syntax & RE_ICASE, - dfa->mb_cur_max, dfa->is_utf8); + preg->translate, preg->syntax & RE_ICASE, dfa); if (BE (err != REG_NOERROR, 0)) goto free_return; input.stop = stop; @@ -1760,7 +1759,7 @@ check_dst_limits_calc_pos (dfa, mctx, limit, eclosures, subexp_idx, from_node, { struct re_backref_cache_entry *ent = mctx->bkref_ents + bi; int dst, cpos; - + /* If this backreference goes beyond the point we're examining, don't go any further. */ if (ent->str_idx > str_idx) @@ -1797,12 +1796,12 @@ check_dst_limits_calc_pos (dfa, mctx, limit, eclosures, subexp_idx, from_node, } break; } - + case OP_OPEN_SUBEXP: if (str_idx == lim->subexp_from && subexp_idx == dfa->nodes[node].opr.idx) return -1; break; - + case OP_CLOSE_SUBEXP: if (str_idx == lim->subexp_to && subexp_idx == dfa->nodes[node].opr.idx) return 0; |