Tcl Source Code

Artifact [ba17a52398]
Login

Artifact ba17a523980a0eae298692e5459216c492deafe9:

Attachment "var.patch" to ticket [3037525fff] added by msofer 2010-08-01 00:03:50.
? unix/CRASH
? unix/ERR
? unix/VERR
Index: generic/tclVar.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclVar.c,v
retrieving revision 1.160.2.9
diff -u -r1.160.2.9 tclVar.c
--- generic/tclVar.c	3 Feb 2010 13:28:44 -0000	1.160.2.9
+++ generic/tclVar.c	31 Jul 2010 16:52:33 -0000
@@ -4521,14 +4521,10 @@
     }
 
     for (varPtr = VarHashFirstVar(tablePtr, &search); varPtr != NULL;
-	    varPtr = VarHashNextVar(&search)) {
-	/*
-	 * Lie about the validity of the hashtable entry. In this way the
-	 * variables will be deleted by VarHashDeleteTable.
-	 */
+	     varPtr = VarHashFirstVar(tablePtr, &search)) {
 
-	VarHashInvalidateEntry(varPtr);
 	UnsetVarStruct(varPtr, NULL, iPtr, VarHashGetKey(varPtr), NULL, flags);
+	VarHashDeleteEntry(varPtr);
     }
     VarHashDeleteTable(tablePtr);
 }