diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2009-01-06 16:07:17 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2009-01-06 16:07:17 (GMT) |
commit | 2fa2e74c29e259ce386e78b98f45efdfac56e11f (patch) | |
tree | 1792551d57acb0194afb9d889a8be54eb44aa839 /generic/tclDictObj.c | |
parent | 620bc7f55e07794231c616458b821a30cb7c8c95 (diff) | |
download | tcl-2fa2e74c29e259ce386e78b98f45efdfac56e11f.zip tcl-2fa2e74c29e259ce386e78b98f45efdfac56e11f.tar.gz tcl-2fa2e74c29e259ce386e78b98f45efdfac56e11f.tar.bz2 |
Corrected twiddling in internals of dictionaries so that literals can't get
destroyed.
Diffstat (limited to 'generic/tclDictObj.c')
-rw-r--r-- | generic/tclDictObj.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/generic/tclDictObj.c b/generic/tclDictObj.c index c74f10f..fc1cac1 100644 --- a/generic/tclDictObj.c +++ b/generic/tclDictObj.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclDictObj.c,v 1.56.2.1 2008/07/20 22:02:37 dkf Exp $ + * RCS: @(#) $Id: tclDictObj.c,v 1.56.2.2 2009/01/06 16:07:17 dkf Exp $ */ #include "tclInt.h" @@ -2129,10 +2129,11 @@ DictIncrCmd( */ char *saved = dictPtr->bytes; + Tcl_Obj *oldPtr = dictPtr; dictPtr->bytes = NULL; dictPtr = Tcl_DuplicateObj(dictPtr); - dictPtr->bytes = saved; + oldPtr->bytes = saved; } if (valuePtr == NULL) { /* |