diff options
-rw-r--r-- | generic/tclStringObj.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index c4d07e0..31a6b26 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -2962,20 +2962,20 @@ TclStringCatObjv( pendingPtr = objPtr; } else { - Tcl_GetStringFromObj(objPtr, &numBytes);/* PANIC? */ - if (numBytes) { - last = objc - oc; - if (length == 0) { - if (pendingPtr) { - Tcl_GetStringFromObj(pendingPtr, &length); /* PANIC? */ - } - if (length == 0) { - first = last; - } - } - if ((length += numBytes) < 0) { - goto overflow; - } + Tcl_GetStringFromObj(objPtr, &numBytes); /* PANIC? */ + if (numBytes == 0) { + continue; + } + last = objc - oc; + if (pendingPtr) { + Tcl_GetStringFromObj(pendingPtr, &length); /* PANIC? */ + pendingPtr = NULL; + } + if (length == 0) { + first = last; + } + if ((length += numBytes) < 0) { + goto overflow; } } } while (--oc); |