diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-03-19 13:23:03 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-03-19 13:23:03 (GMT) |
commit | 449998d3589b262b87b42a2ad586dd3c70b4b9e2 (patch) | |
tree | 30a5ac81c38ff28da8023a19c12e57ae52a8a34a /generic/tclInt.h | |
parent | 203f1d691d5ce37bcf8411aba1dd89968423d97f (diff) | |
download | tcl-449998d3589b262b87b42a2ad586dd3c70b4b9e2.zip tcl-449998d3589b262b87b42a2ad586dd3c70b4b9e2.tar.gz tcl-449998d3589b262b87b42a2ad586dd3c70b4b9e2.tar.bz2 |
Proposed fix for [5ae5ffc3f4]: Problem with -failindex on 32-bit platform. This also fixes a memory-leak.
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r-- | generic/tclInt.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h index a90ac79..aa9247f 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -4912,7 +4912,14 @@ MODULE_SCOPE Tcl_LibraryInitProc Procbodytest_SafeInit; } while (0) #define TclNewIndexObj(objPtr, w) \ - (objPtr) = (((Tcl_WideUInt)w) >= TCL_INDEX_NONE) ? Tcl_NewWideIntObj(-1) : Tcl_NewWideIntObj(w) + do { + Tcl_WideUInt _uw = (Tcl_WideUInt)w; + if (_uw >= TCL_INDEX_NONE) { + TclNewIntObj(objPtr, -1); + } else { + TclNewUIntObj(objPtr, w); + } + } while (0) #define TclNewDoubleObj(objPtr, d) \ (objPtr) = Tcl_NewDoubleObj(d) |