diff options
-rw-r--r-- | generic/tclStringObj.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 847182d..c4d07e0 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -2967,17 +2967,9 @@ TclStringCatObjv( last = objc - oc; if (length == 0) { if (pendingPtr) { - int pendingNumBytes; - - Tcl_GetStringFromObj(pendingPtr, &pendingNumBytes); /* PANIC? */ - if (pendingNumBytes) { - if ((length += pendingNumBytes) < 0) { - goto overflow; - } - } else { - first = last; - } - } else { + Tcl_GetStringFromObj(pendingPtr, &length); /* PANIC? */ + } + if (length == 0) { first = last; } } @@ -3080,9 +3072,10 @@ TclStringCatObjv( } else { /* Efficiently concatenate string reps */ char *dst; - int start; if (inPlace && !Tcl_IsShared(*objv)) { + int start; + objResultPtr = *objv++; objc--; Tcl_GetStringFromObj(objResultPtr, &start); |