diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-06-12 18:29:52 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-06-12 18:29:52 +0000 |
commit | 66b110e855159d415b5106ade7fa5bf17c14f108 (patch) | |
tree | 0274cefb5c078cdf16b0b936d5ace089a724faaa /posix/regexec.c | |
parent | 3bbbaea9745d5daa8662feb68f743c7eb2aa80ea (diff) | |
download | glibc-66b110e855159d415b5106ade7fa5bf17c14f108.tar.gz glibc-66b110e855159d415b5106ade7fa5bf17c14f108.tar.xz glibc-66b110e855159d415b5106ade7fa5bf17c14f108.zip |
Update.
2003-06-12 H.J. Lu <hongjiu.lu@intel.com> * posix/transbug.c (run_test): Return 1 for failure. (do_test): Compare only if run_test is successful. 2003-06-12 Simon Josefsson <jas@extundo.com> * argp/argp.h [!__THROW]: Define if undefined. * posix/transbug.c: New file. * inet/Makefile (aux): Add check_pf. * include/ifaddrs.h: Add prototype for __check_pf. * sysdeps/generic/check_pf.c: New file. * sysdeps/unix/sysv/linux/check_pf.c: New file.
Diffstat (limited to 'posix/regexec.c')
-rw-r--r-- | posix/regexec.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/posix/regexec.c b/posix/regexec.c index 6ea14a6c48..9ade27ada8 100644 --- a/posix/regexec.c +++ b/posix/regexec.c @@ -3334,12 +3334,6 @@ group_nodes_into_DFAstates (preg, state, dests_node, dests_ch) match it the context. */ if (constraint) { - if (constraint & NEXT_WORD_CONSTRAINT) - for (j = 0; j < BITSET_UINTS; ++j) - accepts[j] &= dfa->word_char[j]; - if (constraint & NEXT_NOTWORD_CONSTRAINT) - for (j = 0; j < BITSET_UINTS; ++j) - accepts[j] &= ~dfa->word_char[j]; if (constraint & NEXT_NEWLINE_CONSTRAINT) { int accepts_newline = bitset_contain (accepts, NEWLINE_CHAR); @@ -3349,6 +3343,17 @@ group_nodes_into_DFAstates (preg, state, dests_node, dests_ch) else continue; } + if (constraint & NEXT_ENDBUF_CONSTRAINT) + { + bitset_empty (accepts); + continue; + } + if (constraint & NEXT_WORD_CONSTRAINT) + for (j = 0; j < BITSET_UINTS; ++j) + accepts[j] &= dfa->word_char[j]; + if (constraint & NEXT_NOTWORD_CONSTRAINT) + for (j = 0; j < BITSET_UINTS; ++j) + accepts[j] &= ~dfa->word_char[j]; } /* Then divide `accepts' into DFA states, or create a new |