diff options
-rw-r--r-- | generic/tclStringObj.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 1512f0c..dffa38c 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -1281,15 +1281,12 @@ Tcl_AppendObjToObj( if ((TclIsPureByteArray(objPtr) || objPtr->bytes == tclEmptyStringRep) && TclIsPureByteArray(appendObjPtr)) { - int lengthSrc; /* * You might expect the code here to be * - - bytes = Tcl_GetByteArrayFromObj(appendObjPtr, &length); - TclAppendBytesToByteArray(objPtr, bytes, length); - + * bytes = Tcl_GetByteArrayFromObj(appendObjPtr, &length); + * TclAppendBytesToByteArray(objPtr, bytes, length); * * and essentially all of the time that would be fine. However, * it would run into trouble in the case where objPtr and @@ -1303,6 +1300,8 @@ Tcl_AppendObjToObj( */ /* Get lengths */ + int lengthSrc; + (void) Tcl_GetByteArrayFromObj(objPtr, &length); (void) Tcl_GetByteArrayFromObj(appendObjPtr, &lengthSrc); @@ -1313,9 +1312,10 @@ Tcl_AppendObjToObj( Tcl_SetByteArrayLength(objPtr, length); /* - * Now do the append secure that buffer growth cannot cause + * Now do the append knowing that buffer growth cannot cause * any trouble. */ + TclAppendBytesToByteArray(objPtr, Tcl_GetByteArrayFromObj(appendObjPtr, NULL), lengthSrc); return; |