diff options
author | pvgoran <pvgoran> | 2003-11-15 11:14:01 (GMT) |
---|---|---|
committer | pvgoran <pvgoran> | 2003-11-15 11:14:01 (GMT) |
commit | 2e9dff22ea85a50e2c322edd5e33326481dc2073 (patch) | |
tree | cc96554e40ca49b2c5c34f0411f3c70f9ef2f26d | |
parent | 68735ac31ffa080019e5b986648dbd00e3c11cb6 (diff) | |
download | tcl-2e9dff22ea85a50e2c322edd5e33326481dc2073.zip tcl-2e9dff22ea85a50e2c322edd5e33326481dc2073.tar.gz tcl-2e9dff22ea85a50e2c322edd5e33326481dc2073.tar.bz2 |
Fixed code that splits RE engine states into "progress" and "no-progress" (bugs 505048, 230589, 840258 and 504785).
-rw-r--r-- | generic/regcomp.c | 8 |
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; + } } } |