summaryrefslogtreecommitdiffstats
path: root/generic/tclTestObj.c
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2009-02-12 17:08:44 (GMT)
committerdgp@users.sourceforge.net <dgp>2009-02-12 17:08:44 (GMT)
commitc458ee80d97cf2d15d597d4ead61ea7af0da313b (patch)
treed29a8a37a32403308269023653e87f973e40cb41 /generic/tclTestObj.c
parent2461e39f08d74a2433bc492a5e361e5b2b44c4b9 (diff)
downloadtcl-c458ee80d97cf2d15d597d4ead61ea7af0da313b.zip
tcl-c458ee80d97cf2d15d597d4ead61ea7af0da313b.tar.gz
tcl-c458ee80d97cf2d15d597d4ead61ea7af0da313b.tar.bz2
* generic/tclStringObj.c: Simplified Tcl_GetCharLength by
* generic/tclTestObj.c: removing code that did nothing. Added early returns from Tcl_*SetObjLength when the desired length is already present; adapted test command to the change.
Diffstat (limited to 'generic/tclTestObj.c')
-rw-r--r--generic/tclTestObj.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/generic/tclTestObj.c b/generic/tclTestObj.c
index 73cca56..524f05a 100644
--- a/generic/tclTestObj.c
+++ b/generic/tclTestObj.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: tclTestObj.c,v 1.30 2009/02/11 18:07:56 dgp Exp $
+ * RCS: @(#) $Id: tclTestObj.c,v 1.31 2009/02/12 17:08:45 dgp Exp $
*/
#include "tclInt.h"
@@ -1096,6 +1096,9 @@ TeststringobjCmd(
goto wrongNumArgs;
}
if (varPtr[varIndex] != NULL) {
+ if ((varPtr[varIndex])->typePtr != &tclStringType) {
+ Tcl_ConvertToType(NULL, varPtr[varIndex], &tclStringType);
+ }
strPtr = (TestString *)
(varPtr[varIndex])->internalRep.otherValuePtr;
length = (int) strPtr->allocated;
@@ -1149,6 +1152,9 @@ TeststringobjCmd(
goto wrongNumArgs;
}
if (varPtr[varIndex] != NULL) {
+ if ((varPtr[varIndex])->typePtr != &tclStringType) {
+ Tcl_ConvertToType(NULL, varPtr[varIndex], &tclStringType);
+ }
strPtr = (TestString *)
(varPtr[varIndex])->internalRep.otherValuePtr;
length = (int) strPtr->uallocated;