diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-11-06 12:34:27 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-11-06 12:34:27 (GMT) |
| commit | 9348f2301275b473b59425310f3ac4beb7e545c0 (patch) | |
| tree | a6937da657fc599c9f566973b7b589ce3f410962 | |
| parent | 2b8429142401960e12bcece0205061dd68071ded (diff) | |
| download | tcl-9348f2301275b473b59425310f3ac4beb7e545c0.zip tcl-9348f2301275b473b59425310f3ac4beb7e545c0.tar.gz tcl-9348f2301275b473b59425310f3ac4beb7e545c0.tar.bz2 | |
Fix tclScan.c, not generating a string representation any more with unsigned wideints
| -rw-r--r-- | generic/tcl.h | 2 | ||||
| -rw-r--r-- | generic/tclScan.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 5822d86..6453ed7 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -361,7 +361,7 @@ typedef long LONG; */ #if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG) -# if defined(_MSC_VER) || (defined(_WIN32) && !defined(__cplusplus)) +# if defined(_MSC_VER) || defined(_WIN32) # define TCL_WIDE_INT_TYPE __int64 # define TCL_LL_MODIFIER "I64" # if defined(_WIN64) diff --git a/generic/tclScan.c b/generic/tclScan.c index 67138e6..24b4374 100644 --- a/generic/tclScan.c +++ b/generic/tclScan.c @@ -934,8 +934,9 @@ Tcl_ScanObjCmd( } } if ((flags & SCAN_UNSIGNED) && (wideValue < 0)) { - sprintf(buf, "%" TCL_LL_MODIFIER "u", wideValue); - Tcl_SetStringObj(objPtr, buf, -1); + mp_int big; + TclBNInitBignumFromWideUInt(&big, (Tcl_WideUInt)wideValue); + Tcl_SetBignumObj(objPtr, &big); } else { TclSetIntObj(objPtr, wideValue); } |
