about summary refs log tree commit diff
path: root/posix/regexec.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-06-12 18:29:52 +0000
committerUlrich Drepper <drepper@redhat.com>2003-06-12 18:29:52 +0000
commit66b110e855159d415b5106ade7fa5bf17c14f108 (patch)
tree0274cefb5c078cdf16b0b936d5ace089a724faaa /posix/regexec.c
parent3bbbaea9745d5daa8662feb68f743c7eb2aa80ea (diff)
downloadglibc-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.c17
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