aboutsummaryrefslogtreecommitdiff
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.zip
glibc-7c1be3ece594ad0519185158eae5e78fd3653ca4.tar.gz
glibc-7c1be3ece594ad0519185158eae5e78fd3653ca4.tar.bz2
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 29fa7de..fdc78f9 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$|^.?$",