This is the mail archive of the
glibc-cvs@sources.redhat.com
mailing list for the glibc project.
libc/posix regcomp.c
- From: drepper at sources dot redhat dot com
- To: glibc-cvs at sources dot redhat dot com
- Date: 19 Nov 2003 19:17:26 -0000
- Subject: libc/posix regcomp.c
CVSROOT: /cvs/glibc
Module name: libc
Changes by: drepper@sourceware.org 2003-11-19 19:17:26
Modified files:
posix : regcomp.c
Log message:
(free_bin_tree): Removed.
(create_tree): Add dfa argument. Don't call re_malloc for
each tree, instead allocate from str_tree_storage.
(re_dfa_add_tree_node): New function.
(free_dfa_content): Handle freeing if dfa->nodes == NULL
or dfa->state_table == NULL.
(re_compile_internal): Call free_dfa_content if init_dfa
fails. Call free_workarea_compile, re_string_destruct
and free_dfa_content for most of the other failure paths.
(init_dfa): Initialize str_tree_storage_idx.
Don't clear any fields on allocation failure.
(free_workarea_compile): Free str_tree_storage chunks
instead of free_bin_tree (dfa->str_tree).
(parse): Call re_dfa_add_tree_node instead of re_dfa_add_node
followed by create_tree. Add dfa argument to remaining
create_tree calls. Remove new_idx variable. Remove calls
to free_bin_tree.
(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp,
parse_dup_op, parse_bracket_exp, build_charclass_op): Likewise.
(duplicate_tree): Remove calls to free_bin_tree, add dfa
argument to create_tree.