diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-02-01 21:44:49 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-02-01 21:44:49 (GMT) |
| commit | 8ed053109c53a157e121884d50c693ac35df4f5e (patch) | |
| tree | 675d9976ecbbb4d2d07e099823679c9f578eafd3 /generic/tclTest.c | |
| parent | 7f43fd669135216c7d1133dd450b7378a970a6c5 (diff) | |
| download | tcl-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.c | 11 |
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; } |
