From 0d571ed33320f761a463464e4ed2886eee487898 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 15 Nov 2007 17:07:09 +0000 Subject: * generic/regc_nfa.c: Corrected looping logic in fixempties() to avoid wasting time walking a list of dead states. [Bug 1832612] --- ChangeLog | 5 +++++ generic/regc_nfa.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ee38587..be66f21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-15 Don Porter + + * generic/regc_nfa.c: Corrected looping logic in fixempties() to + avoid wasting time walking a list of dead states. [Bug 1832612] + 2007-11-15 Donal K. Fellows * generic/tclNamesp.c (NamespaceEnsembleCmd): Must pass a non-NULL diff --git a/generic/regc_nfa.c b/generic/regc_nfa.c index 20e821f..c5d7bc9 100644 --- a/generic/regc_nfa.c +++ b/generic/regc_nfa.c @@ -1133,7 +1133,8 @@ fixempties( do { progress = 0; - for (s = nfa->states; s != NULL && !NISERR(); s = nexts) { + for (s = nfa->states; s != NULL && !NISERR() + && s->no != FREESTATE; s = nexts) { nexts = s->next; for (a = s->outs; a != NULL && !NISERR(); a = nexta) { nexta = a->outchain; -- cgit v0.12