diff options
author | dgp <dgp@users.sourceforge.net> | 2008-02-29 21:02:17 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2008-02-29 21:02:17 (GMT) |
commit | 538a92af4c40dae91012d0a2aacbee52a9ff86ca (patch) | |
tree | 4442cd726274b0a3f8231e11daaea173a6533e60 /generic/tclExecute.c | |
parent | f971bc37c350f55dfdd2ed65cf406aa4e81feb9e (diff) | |
download | tcl-538a92af4c40dae91012d0a2aacbee52a9ff86ca.zip tcl-538a92af4c40dae91012d0a2aacbee52a9ff86ca.tar.gz tcl-538a92af4c40dae91012d0a2aacbee52a9ff86ca.tar.bz2 |
* generic/tclResult.c (Tcl_SetReturnOptions): Revised the refcount
management of Tcl_SetReturnOptions to become that of a conventional
Consumer routine. Thanks to Peter Spjuth for pointing out the
difficulties calling Tcl_SetReturnOptions with non-0-count value for
options.
* generic/tclExecute.c (INST_RETURN_STK): Revised the one caller
within Tcl itself which passes a non-0-count value to
Tcl_SetReturnOptions().
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 6840574..25df0e7 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -13,7 +13,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.363 2008/02/04 20:24:55 msofer Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.364 2008/02/29 21:02:20 dgp Exp $ */ #include "tclInt.h" @@ -1866,6 +1866,7 @@ TclExecuteByteCode( TRACE(("=> ")); objResultPtr = POP_OBJECT(); result = Tcl_SetReturnOptions(interp, OBJ_AT_TOS); + Tcl_DecrRefCount(OBJ_AT_TOS); OBJ_AT_TOS = objResultPtr; if (result == TCL_OK) { TRACE_APPEND(("continuing to next instruction (result=\"%.30s\")", |