summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--generic/tclRegexp.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e8e623..ed9a099 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-06 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * generic/tclRegexp.c (FinalizeRegexp): full reset data to
+ indicate that readiness for reinitialization.
+
2006-04-06 Don Porter <dgp@users.sourceforge.net>
* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): It seems
diff --git a/generic/tclRegexp.c b/generic/tclRegexp.c
index 276ea55..7e2a875 100644
--- a/generic/tclRegexp.c
+++ b/generic/tclRegexp.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclRegexp.c,v 1.14.4.1 2005/11/27 02:34:41 das Exp $
+ * RCS: @(#) $Id: tclRegexp.c,v 1.14.4.2 2006/04/07 01:14:28 hobbs Exp $
*/
#include "tclInt.h"
@@ -1024,5 +1024,11 @@ FinalizeRegexp(clientData)
FreeRegexp(regexpPtr);
}
ckfree(tsdPtr->patterns[i]);
+ tsdPtr->patterns[i] = NULL;
}
+ /*
+ * We may find ourselves reinitialized if another finalization routine
+ * invokes regexps.
+ */
+ tsdPtr->initialized = 0;
}