diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2005-04-09 21:14:22 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2005-04-09 21:14:22 (GMT) |
commit | a2781456a8073fc4a0496514c9a1d9c9a5764c80 (patch) | |
tree | 8b12c197148fb5ded8d658aa9f9418c5b0460301 /generic | |
parent | e2c08535f035fb77e79ea66ff3f19ae5b183a6dc (diff) | |
download | tcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.zip tcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.tar.gz tcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.tar.bz2 |
fix in last commit
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclExecute.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 726c024..fcb1322 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclExecute.c,v 1.180 2005/04/09 21:12:36 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.181 2005/04/09 21:14:22 msofer Exp $ */ #include "tclInt.h" @@ -5061,6 +5061,12 @@ TclExecuteByteCode(interp, codePtr) abnormalReturn: { + Tcl_Obj **initTosPtr = eePtr->stackPtr + initStackTop; + while (tosPtr > initTosPtr) { + Tcl_Obj *objPtr = POP_OBJECT(); + TclDecrRefCount(objPtr); + } + /* * Clear all expansions. */ @@ -5070,11 +5076,6 @@ TclExecuteByteCode(interp, codePtr) TclDecrRefCount(expandNestList); expandNestList = objPtr; } - Tcl_Obj **initTosPtr = eePtr->stackPtr + initStackTop; - while (tosPtr > initTosPtr) { - Tcl_Obj *objPtr = POP_OBJECT(); - TclDecrRefCount(objPtr); - } if (tosPtr < initTosPtr) { fprintf(stderr, "\nTclExecuteByteCode: abnormal return at pc %u: stack top %d < entry stack top %d\n", (unsigned int)(pc - codePtr->codeStart), |