diff options
author | msofer <msofer@noemail.net> | 2010-07-31 20:28:01 (GMT) |
---|---|---|
committer | msofer <msofer@noemail.net> | 2010-07-31 20:28:01 (GMT) |
commit | ab646ccb329bcd7203124703fd1019cc7f30bbc2 (patch) | |
tree | 25547d8f3b4bdefbce76290fc0349e3087a6496e /generic/tclVar.c | |
parent | c3e1c052bebb018249c7fdb73e871216f283dd07 (diff) | |
download | tcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.zip tcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.tar.gz tcl-ab646ccb329bcd7203124703fd1019cc7f30bbc2.tar.bz2 |
* generic/tclVar.c: fix for crash [Bug 3037525]: lose fickle
optimisation in TclDeleteVars (used for runtime-created locals)
FossilOrigin-Name: e6d5551c1c62bc849c341e1eeb52afec123255c6
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r-- | generic/tclVar.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c index c07cc6f..7587eec 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.199 2010/05/31 08:54:14 nijtmans Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.200 2010/07/31 20:28:04 msofer Exp $ */ #include "tclInt.h" @@ -5330,14 +5330,9 @@ TclDeleteVars( 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. - */ - - VarHashInvalidateEntry(varPtr); UnsetVarStruct(varPtr, NULL, iPtr, VarHashGetKey(varPtr), NULL, flags, -1); + VarHashDeleteEntry(varPtr); } VarHashDeleteTable(tablePtr); } |