From 6b6557e8b3b094132c619e3a2e00fe28422fd16f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 27 Dec 2003 23:40:06 +0000 Subject: Update. 2003-12-23 Paolo Bonzini * 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 2003-12-16 Paolo Bonzini 2003-12-17 Paolo Bonzini 2003-12-16 Jakub Jelinek 2003-04-06 Kaz Kojima 2003-02-20 Paolo Bonzini 2003-01-12 Franz Sirl 2003-01-09 Richard Henderson 2003-01-09 Richard Henderson 2003-01-03 Paul Eggert --- posix/regex_internal.c | 1 + 1 file changed, 1 insertion(+) (limited to 'posix/regex_internal.c') 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++; -- cgit v1.2.3