diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-10-12 08:34:26 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-10-12 08:34:26 +0000 |
commit | 485d775dd578f2c2528d10d7618f09c45ffe6840 (patch) | |
tree | dde239879b15fbec3536cede5e8019211495f84b /posix/regex_internal.h | |
parent | cc12f2a442d1d971d6ec0c21bdfa578299601fc7 (diff) | |
download | glibc-485d775dd578f2c2528d10d7618f09c45ffe6840.zip glibc-485d775dd578f2c2528d10d7618f09c45ffe6840.tar.gz glibc-485d775dd578f2c2528d10d7618f09c45ffe6840.tar.bz2 |
Update.
2002-10-11 Isamu Hasegawa <isamu@yamato.ibm.com>
* posix/regcomp.c (re_compile_fastmap_iter): Remove the handling
OP_CONTEXT_NODE.
(regfree): Likewise.
(create_initial_state): Likewise.
(analyze): Remove the substitutions which became useless.
(calc_first): Likewise.
(calc_epsdest): Use edests of OP_BACK_REF in case that it has
epsilon destination.
(duplicate_node_closure): New function.
(duplicate_node): Remove the handling OP_CONTEXT_NODE.
(calc_inveclosure): Likewise.
(calc_eclosure): Likewise.
(calc_eclosure_iter): Invoke duplicate_node_closure instead of
direct invocation of duplicate_node.
(parse): Don't use comma operator in the return to avoid compiler
warning.
(parse_reg_exp): Likewise.
(parse_branch): Likewise.
(parse_expression): Likewise.
(parse_sub_exp): Likewise.
(parse_dup_op): Likewise.
* posix/regex_internal.c (re_dfa_add_node): Remove the substitutions
which became useless.
(create_ci_newstate): Remove the handling OP_CONTEXT_NODE.
(create_cd_newstate): Likewise.
* posix/regex_internal.h (re_token_type_t): Remove the obsolete type.
(re_token_t): Likewise.
(re_dfa_t): Likewise.
(re_node_set_remove): New macro.
* posix/regexec.c (check_matching): Remove the handling
OP_CONTEXT_NODE.
(check_halt_node_context): Likewise.
(proceed_next_node): Likewise.
(pop_fail_stack): Fix the memory leak.
(set_regs): Likewise.
(free_fail_stack_return): New function.
(sift_states_backward): Fix the memory leak. Remove the handling
OP_CONTEXT_NODE.
(update_cur_sifted_state): Append some if clause to avoid redundant
call.
(sub_epsilon_src_nodes): Use IS_EPSILON_NODE since it might be a
back reference.
(check_dst_limits): Remove the handling OP_CONTEXT_NODE.
(check_subexp_limits): Likewise.
(search_subexp): Likewise.
(sift_states_bkref): Likewise.
(transit_state_mb): Likewise.
(transit_state_bkref_loop): Likewise.
(transit_state_bkref_loop): Likewise.
(group_nodes_into_DFAstates): Likewise.
(check_node_accept): Likewise.
(sift_ctx_init): Add initializing.
2002-10-12 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysdep.h (INLINE_SYSCALL): Use
__builtin_expect.
Diffstat (limited to 'posix/regex_internal.h')
-rw-r--r-- | posix/regex_internal.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/posix/regex_internal.h b/posix/regex_internal.h index 5aef684..7193ea0 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -133,7 +133,6 @@ typedef enum OP_DUP_QUESTION, OP_BACK_REF, ANCHOR, - OP_CONTEXT_NODE, /* Dummy marker. */ END_OF_RE_TOKEN_T @@ -198,11 +197,6 @@ typedef struct #endif /* RE_ENABLE_I18N */ int idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ - struct - { - int entity; /* for OP_CONTEXT_NODE, index of the entity */ - re_node_set *bkref_eclosure; - } *ctx_info; } opr; #if __GNUC__ >= 2 re_token_type_t type : 8; @@ -474,7 +468,6 @@ struct re_dfa_t int nodes_alloc; int nodes_len; bin_tree_t *str_tree; - int *firsts; int *nexts; re_node_set *edests; re_node_set *eclosures; @@ -519,6 +512,8 @@ static int re_node_set_compare (const re_node_set *set1, const re_node_set *set2); static int re_node_set_contains (const re_node_set *set, int elem); static void re_node_set_remove_at (re_node_set *set, int idx); +#define re_node_set_remove(set,id) \ + (re_node_set_remove_at (set, re_node_set_contains (set, id) - 1)) #define re_node_set_empty(p) ((p)->nelem = 0) #define re_node_set_free(set) re_free ((set)->elems) static int re_dfa_add_node (re_dfa_t *dfa, re_token_t token, int mode); |