mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
6291ee3c5f
2002-11-27 Isamu Hasegawa <isamu@yamato.ibm.com> * posix/regcomp.c (parse_expression): Set the bit since the back reference is used in the regular expression. * posix/regex_internal.c (re_node_set_init_1): Make it clean in case of malloc failure. (re_node_set_init_copy): Likewise. * posix/regex_internal.h (state_array_t): New structure. (re_sub_match_last_t): Likewise. (re_sub_match_top_t): Likewise. (re_match_context_t): Add new members. (re_dfa_t): Likewise. * posix/regexec.c (re_search_internal): Invoke prune_impossible_nodes to check the matching is really correct, and retry if failed. Move the routin pruning the impossible nodes from here, ... (prune_impossible_nodes): To this function. (check_matching): Invoke check_subexp_matching_top, and replace redundant checking with transit_state_bkref invocation. (proceed_next_node): Replace strncmp with memcmp. Reported by Paolo Bonzini <bonzini@gnu.org>. (update_cur_sifted_state): Remove search_subexp invocation. (search_subexp): Remove this function. (check_dst_limits_calc_pos): Use search_cur_bkref_entry for optimization. (sift_states_bkref): Use search_cur_bkref_entry for optimization. Remove unused invocation of match_ctx_add_entry. (transit_state): Invoke check_subexp_matching_top. (check_subexp_matching_top): New function. (transit_state_bkref): Remove unused array. Merge transit_state_bkref_loop. (transit_state_bkref_loop): Use get_subexp instead of sift_states_backward. Use search_cur_bkref_entry for optimization. Merge this function to transit_state_bkref. (get_subexp): New function. (get_subexp_sub): Likewise. (find_subexp_node): Likewise. (check_arrival): Likewise. (check_arrival_expand_ecl): Likewise. (check_arrival_expand_ecl_sub): Likewise. (expand_bkref_cache): Likewise. (match_ctx_init): Initialize new members. (match_ctx_clean): New function. (match_ctx_free): Release new members. (match_ctx_free_subtops): New function. (match_ctx_add_entry): Fix indent. (search_cur_bkref_entry): New function. (match_ctx_add_subtop): Likewise. (match_ctx_add_sublast): Likewise. |
||
---|---|---|
.. | ||
bits | ||
glob | ||
sys | ||
.cvsignore | ||
annexc.c | ||
bsd-getpgrp.c | ||
bug-regex1.c | ||
bug-regex2.c | ||
bug-regex3.c | ||
bug-regex4.c | ||
bug-regex5.c | ||
bug-regex6.c | ||
bug-regex7.c | ||
bug-regex8.c | ||
bug-regex9.c | ||
bug-regex10.c | ||
bug-regex11.c | ||
bug-regex12.c | ||
bug-regex13.c | ||
bug-regex14.c | ||
confstr.c | ||
cpio.h | ||
Depend | ||
execl.c | ||
execle.c | ||
execlp.c | ||
execv.c | ||
execvp.c | ||
fnmatch_loop.c | ||
fnmatch.c | ||
fnmatch.h | ||
getconf.c | ||
getopt1.c | ||
getopt_init.c | ||
getopt.c | ||
getopt.h | ||
glob.h | ||
globtest.c | ||
globtest.sh | ||
Makefile | ||
ptestcases.h | ||
PTESTS | ||
PTESTS2C.sed | ||
re_comp.h | ||
regcomp.c | ||
regex_internal.c | ||
regex_internal.h | ||
regex.c | ||
regex.h | ||
regexbug1.c | ||
regexec.c | ||
runptests.c | ||
runtests.c | ||
sched.h | ||
spawn_faction_addclose.c | ||
spawn_faction_adddup2.c | ||
spawn_faction_addopen.c | ||
spawn_faction_destroy.c | ||
spawn_faction_init.c | ||
spawn_int.h | ||
spawn.c | ||
spawn.h | ||
spawnattr_destroy.c | ||
spawnattr_getdefault.c | ||
spawnattr_getflags.c | ||
spawnattr_getpgroup.c | ||
spawnattr_getschedparam.c | ||
spawnattr_getschedpolicy.c | ||
spawnattr_getsigmask.c | ||
spawnattr_init.c | ||
spawnattr_setdefault.c | ||
spawnattr_setflags.c | ||
spawnattr_setpgroup.c | ||
spawnattr_setschedparam.c | ||
spawnattr_setschedpolicy.c | ||
spawnattr_setsigmask.c | ||
spawnp.c | ||
tar.h | ||
test-vfork.c | ||
testcases.h | ||
testfnm.c | ||
TESTS | ||
TESTS2C.sed | ||
tst-chmod.c | ||
tst-dir.c | ||
tst-exec.c | ||
tst-fnmatch.c | ||
tst-fnmatch.input | ||
tst-fork.c | ||
tst-getaddrinfo.c | ||
tst-getconf.sh | ||
tst-getlogin.c | ||
tst-gnuglob.c | ||
tst-mmap.c | ||
tst-preadwrite64.c | ||
tst-preadwrite.c | ||
tst-regex.c | ||
tst-regexloc.c | ||
tst-spawn.c | ||
tst-truncate64.c | ||
tst-truncate.c | ||
tstgetopt.c | ||
unistd.h | ||
Versions | ||
wait.h | ||
wordexp-test.c | ||
wordexp-tst.sh | ||
wordexp.h |