summary refs log tree commit diff
path: root/posix/bug-regex11.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-12-30 20:01:17 +0000
committerUlrich Drepper <drepper@redhat.com>2003-12-30 20:01:17 +0000
commit7c1be3ece594ad0519185158eae5e78fd3653ca4 (patch)
tree58dc160286d8bd31bebe4836a4111b474116a4a5 /posix/bug-regex11.c
parent5bd4d36871617c9ef72f5c63b6f0d527642d32d2 (diff)
downloadglibc-7c1be3ece594ad0519185158eae5e78fd3653ca4.tar.gz
glibc-7c1be3ece594ad0519185158eae5e78fd3653ca4.tar.xz
glibc-7c1be3ece594ad0519185158eae5e78fd3653ca4.zip
Update.
	* posix/regexec.c (get_subexp): Only set bkref_str after the first
	loop, use buf + bkref_str_off in the loop instead.
	* posix/bug-regex11.c (tests): Add 3 new tests.

	* posix/regexec.c (clean_state_log_if_need): Rename to...
	(clean_state_log_if_needed): ...this.
	(transit_state_mb, get_subexp_sub): Adjust callers.
Diffstat (limited to 'posix/bug-regex11.c')
-rw-r--r--posix/bug-regex11.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/posix/bug-regex11.c b/posix/bug-regex11.c
index 29fa7def79..fdc78f9412 100644
--- a/posix/bug-regex11.c
+++ b/posix/bug-regex11.c
@@ -69,6 +69,10 @@ struct
   { "a()d(b)\\1c\\2", "adbcb", REG_EXTENDED, 3, { { 0, 5 }, { 1, 1 }, { 2, 3 } } },
   { "a(b())\\2\\1", "abbbb", REG_EXTENDED, 3, { { 0, 3 }, { 1, 2 }, { 2, 2 } } },
   { "(bb())\\2\\1", "bbbb", REG_EXTENDED, 3, { { 0, 4 }, { 0, 2 }, { 2, 2 } } },
+  { "^([^,]*),\\1,\\1$", "a,a,a", REG_EXTENDED, 2, { { 0, 5 }, { 0, 1 } } },
+  { "^([^,]*),\\1,\\1$", "ab,ab,ab", REG_EXTENDED, 2, { { 0, 8 }, { 0, 2 } } },
+  { "^([^,]*),\\1,\\1,\\1$", "abc,abc,abc,abc", REG_EXTENDED, 2,
+    { { 0, 15 }, { 0, 3 } } },
   { "^(.?)(.?)(.?)(.?)(.?).?\\5\\4\\3\\2\\1$",
     "level", REG_NOSUB | REG_EXTENDED, 0, { { -1, -1 } } },
   { "^(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.?)(.).?\\9\\8\\7\\6\\5\\4\\3\\2\\1$|^.?$",