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.tar.gz glibc-6b6557e8b3b094132c619e3a2e00fe28422fd16f.tar.xz glibc-6b6557e8b3b094132c619e3a2e00fe28422fd16f.zip |
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 45b45aaaf0..4cff96f6d6 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++; |