diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-22 20:07:18 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-22 20:07:18 (GMT) |
| commit | be1a8384ef0cb9fea37a20be396287a596c049ae (patch) | |
| tree | 2ecfc21d8b742036b6fd3948fa4c35edf533fc4f /generic/tclUtil.c | |
| parent | 9a18abc8558016b133faab39ea7702494c902069 (diff) | |
| parent | e37db312053b02b4ca582bd370d90e10b2632a77 (diff) | |
| download | tcl-be1a8384ef0cb9fea37a20be396287a596c049ae.zip tcl-be1a8384ef0cb9fea37a20be396287a596c049ae.tar.gz tcl-be1a8384ef0cb9fea37a20be396287a596c049ae.tar.bz2 | |
Merge 8.7
Diffstat (limited to 'generic/tclUtil.c')
| -rw-r--r-- | generic/tclUtil.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index cf6dc75..2a5cae5 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -1574,7 +1574,8 @@ Tcl_Merge( { #define LOCAL_SIZE 64 char localFlags[LOCAL_SIZE], *flagPtr = NULL; - Tcl_Size i, bytesNeeded = 0; + Tcl_Size i; + size_t bytesNeeded = 0; char *result, *dst; /* @@ -1583,6 +1584,9 @@ Tcl_Merge( */ if (argc <= 0) { + if (argc < 0) { + Tcl_Panic("Tcl_Merge called with negative argc (%" TCL_SIZE_MODIFIER "d)", argc); + } result = (char *)Tcl_Alloc(1); result[0] = '\0'; return result; @@ -2749,8 +2753,7 @@ Tcl_DStringAppendElement( newSize += 1; /* For terminating nul */ if (newSize > dsPtr->spaceAvl) { if (dsPtr->string == dsPtr->staticSpace) { - char *newString; - newString = (char *) TclAllocEx(newSize, &dsPtr->spaceAvl); + char *newString = (char *) TclAllocEx(newSize, &dsPtr->spaceAvl); memcpy(newString, dsPtr->string, dsPtr->length); dsPtr->string = newString; } else { @@ -2763,7 +2766,7 @@ Tcl_DStringAppendElement( offset = element - dsPtr->string; } dsPtr->string = - (char *)TclReallocEx(dsPtr->string, newSize, &dsPtr->spaceAvl); + (char *)TclReallocEx(dsPtr->string, newSize, &dsPtr->spaceAvl); if (offset >= 0) { element = dsPtr->string + offset; } @@ -2936,7 +2939,7 @@ Tcl_DStringGetResult( * of interp. */ { Tcl_Obj *obj = Tcl_GetObjResult(interp); - char *bytes = TclGetString(obj); + const char *bytes = TclGetString(obj); Tcl_DStringFree(dsPtr); Tcl_DStringAppend(dsPtr, bytes, obj->length); |
