summaryrefslogtreecommitdiffstats
path: root/generic/tclUtil.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2008-08-17 14:15:24 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2008-08-17 14:15:24 (GMT)
commitd49908850f4747e397786cba1c88d3aca348eb36 (patch)
treebb2b51fe89b8a3295adbd6dbf7f01e53f4b89469 /generic/tclUtil.c
parent146f94987b85cac730a1bde68d0e16d6907f79c0 (diff)
downloadtcl-d49908850f4747e397786cba1c88d3aca348eb36.zip
tcl-d49908850f4747e397786cba1c88d3aca348eb36.tar.gz
tcl-d49908850f4747e397786cba1c88d3aca348eb36.tar.bz2
* generic/tclTest.c (TestconcatobjCmd):
* generic/tclUtil.c (Tcl_ConcatObj): * tests/util.test (util-4.7): fix [Bug 1447328]; the original "fix" turned Tcl_ConcatObj() into a hairy monster. This was exposed by [Bug 2055782]. Additionally, Tcl_ConcatObj could corrupt its input under certain conditions! *** NASTY BUG FIXED ***
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r--generic/tclUtil.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 480196c..a1a0861 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.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: tclUtil.c,v 1.98 2008/04/27 22:21:33 dkf Exp $
+ * RCS: @(#) $Id: tclUtil.c,v 1.99 2008/08/17 14:15:26 msofer Exp $
*/
#include "tclInt.h"
@@ -1197,11 +1197,7 @@ Tcl_ConcatObj(
if (resPtr) {
Tcl_ListObjReplace(NULL, resPtr, INT_MAX, 0, listc, listv);
} else {
- if (Tcl_IsShared(objPtr)) {
- resPtr = TclListObjCopy(NULL, objPtr);
- } else {
- resPtr = objPtr;
- }
+ resPtr = TclListObjCopy(NULL, objPtr);
}
}
}