diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-12-27 23:40:06 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-12-27 23:40:06 +0000 |
commit | 6b6557e8b3b094132c619e3a2e00fe28422fd16f (patch) | |
tree | 0b8826d04903f41e1e32dd4ddb5c8b756df8d9f4 /posix/regex_internal.c | |
parent | cb5b9388dad6d0524322d45eafaa7b5d7b00b554 (diff) | |
download | glibc-6b6557e8b3b094132c619e3a2e00fe28422fd16f.zip glibc-6b6557e8b3b094132c619e3a2e00fe28422fd16f.tar.gz glibc-6b6557e8b3b094132c619e3a2e00fe28422fd16f.tar.bz2 |
Update.
2003-12-23 Paolo Bonzini <bonzini@gnu.org>
* posix/regex_internal.c (re_dfa_add_node): Initialize opt_subexp.
* posix/regex_internal.h (re_token_type_t): Put OP_DUP_PLUS
among the tokens, rather than among the epsilon-transiting nodes.
(re_token_t): Add the opt_subexp flag.
* posix/regcomp.c (optimize_utf8, calc_first,
calc_next, calc_epsdest): Don't consider OP_DUP_PLUS.
(mark_opt_subexp, mark_opt_subexp_iter): New functions.
(parse_dup_op): Mostly rewritten, lowering OP_DUP_PLUS to
OP_DUP_ASTERISK and marking optional subexpressions
as such using mark_opt_subexp.
* posix/regexec.c (set_regs): Initialize PREV_INDEX_MATCH
and pass it to update_regs.
(update_regs): Use the PREV_INDEX_MATCH parameter, together
with the opt_subexp flag, in order to discard a final empty
match of a repeated subexpression.
* posix/BOOST.tests: Adjust test vectors.
* posix/PCRE.tests: Likewise.
* posix/rxspencer/tests: Likewise.
2003-12-17 Paolo Bonzini <bonzini@gnu.org>
2003-12-16 Paolo Bonzini <bonzini@gnu.org>
2003-12-17 Paolo Bonzini <bonzini@gnu.org>
2003-12-16 Jakub Jelinek <jakub@redhat.com>
2003-04-06 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2003-02-20 Paolo Bonzini <bonzini@gnu.org>
2003-01-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2003-01-09 Richard Henderson <rth@redhat.com>
2003-01-09 Richard Henderson <rth@redhat.com>
2003-01-03 Paul Eggert <eggert@twinsun.com>
Diffstat (limited to 'posix/regex_internal.c')
-rw-r--r-- | posix/regex_internal.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/posix/regex_internal.c b/posix/regex_internal.c index 45b45aa..4cff96f 100644 --- a/posix/regex_internal.c +++ b/posix/regex_internal.c @@ -1306,6 +1306,7 @@ re_dfa_add_node (dfa, token, mode) dfa->nodes_alloc = new_nodes_alloc; } dfa->nodes[dfa->nodes_len] = token; + dfa->nodes[dfa->nodes_len].opt_subexp = 0; dfa->nodes[dfa->nodes_len].duplicated = 0; dfa->nodes[dfa->nodes_len].constraint = 0; return dfa->nodes_len++; |