diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-02 12:00:02 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-02 12:00:02 (GMT) |
| commit | 2867ac26373a64724686df3d77d9d323343bcc84 (patch) | |
| tree | ae328d054031055467a0fc8c3767e56431e69f36 /generic/tclStringObj.c | |
| parent | 56d50aec7cab7011ab2b1e430403aa92d76e313c (diff) | |
| download | tcl-2867ac26373a64724686df3d77d9d323343bcc84.zip tcl-2867ac26373a64724686df3d77d9d323343bcc84.tar.gz tcl-2867ac26373a64724686df3d77d9d323343bcc84.tar.bz2 | |
New (internal) macro TclAttemptInitStringRep()
Diffstat (limited to 'generic/tclStringObj.c')
| -rw-r--r-- | generic/tclStringObj.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index 0e47487..6450317 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -3517,8 +3517,14 @@ TclStringCat( /* assert ( objc >= 0 ) */ if (objc <= 1) { - /* Negative (shouldn't be), one or no objects; return first or empty */ - return objc == 1 ? objv[0] : Tcl_NewObj(); + if (objc != 1) { + /* Negative (shouldn't be) no objects; return empty */ + Tcl_Obj *obj; + TclNewObj(obj); + return obj; + } + /* One object; return first */ + return objv[0]; } /* assert ( objc >= 2 ) */ @@ -4816,7 +4822,7 @@ UpdateStringOfString( stringPtr->allocated = 0; if (stringPtr->numChars == 0) { - TclInitStringRep(objPtr, NULL, 0); + TclInitEmptyStringRep(objPtr); } else { (void) ExtendStringRepWithUnicode(objPtr, stringPtr->unicode, stringPtr->numChars); |
