summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-02-01 21:44:49 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-02-01 21:44:49 (GMT)
commit8ed053109c53a157e121884d50c693ac35df4f5e (patch)
tree675d9976ecbbb4d2d07e099823679c9f578eafd3 /generic/tclTest.c
parent7f43fd669135216c7d1133dd450b7378a970a6c5 (diff)
downloadtcl-8ed053109c53a157e121884d50c693ac35df4f5e.zip
tcl-8ed053109c53a157e121884d50c693ac35df4f5e.tar.gz
tcl-8ed053109c53a157e121884d50c693ac35df4f5e.tar.bz2
Fix [0d78177f20]: unsigned use of Tcl_ObjPrintf() doesn't work as expected. With testcases.
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 08b3306..e656985 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -4396,16 +4396,17 @@ TestprintObjCmd(
{
Tcl_WideInt argv1 = 0;
size_t argv2;
+ long argv3;
- if (objc < 2 || objc > 3) {
+ if (objc != 3) {
Tcl_WrongNumArgs(interp, 1, objv, "format wideint");
+ return TCL_OK;
}
- if (objc > 1) {
- Tcl_GetWideIntFromObj(interp, objv[2], &argv1);
- }
+ Tcl_GetWideIntFromObj(interp, objv[2], &argv1);
argv2 = (size_t)argv1;
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(Tcl_GetString(objv[1]), argv1, argv2, argv2));
+ argv3 = (long)argv1;
+ Tcl_SetObjResult(interp, Tcl_ObjPrintf(Tcl_GetString(objv[1]), argv1, argv2, argv3, argv3));
return TCL_OK;
}