summaryrefslogtreecommitdiffstats
path: root/generic/regcomp.c
diff options
context:
space:
mode:
authordgp <dgp@noemail.net>2003-11-17 18:12:06 (GMT)
committerdgp <dgp@noemail.net>2003-11-17 18:12:06 (GMT)
commit3d25e0a39e38735aa12cc1a12e2265d31a711b0d (patch)
treee29fd69d2797dd44088bff0bc55f109b06ea7179 /generic/regcomp.c
parent8a4e76201c982ebe3391fb6f25cb76b137919f86 (diff)
downloadtcl-3d25e0a39e38735aa12cc1a12e2265d31a711b0d.zip
tcl-3d25e0a39e38735aa12cc1a12e2265d31a711b0d.tar.gz
tcl-3d25e0a39e38735aa12cc1a12e2265d31a711b0d.tar.bz2
* generic/regcomp.c: Backported regexp bug fixes and tests. Thanks
* generic/tclTest.c: to Pavel Goran and Vince Darley. * tests/reg.test: [Bugs 230589, 504785, 505048, 703709, 840258] FossilOrigin-Name: c65f2053072527de36f5761d73ff0aa01cb2e395
Diffstat (limited to 'generic/regcomp.c')
-rw-r--r--generic/regcomp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/regcomp.c b/generic/regcomp.c
index 4aba629..2a7fd6e 100644
--- a/generic/regcomp.c
+++ b/generic/regcomp.c
@@ -553,8 +553,12 @@ struct nfa *nfa;
if (b->from != pre)
break;
if (b != NULL) { /* must be split */
- s->tmp = slist;
- slist = s;
+ if (s->tmp == NULL) { /* if not already in the list */
+ /* (fixes bugs 505048, 230589, */
+ /* 840258, 504785) */
+ s->tmp = slist;
+ slist = s;
+ }
}
}