summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-19 13:23:03 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-19 13:23:03 (GMT)
commit449998d3589b262b87b42a2ad586dd3c70b4b9e2 (patch)
tree30a5ac81c38ff28da8023a19c12e57ae52a8a34a /generic/tclInt.h
parent203f1d691d5ce37bcf8411aba1dd89968423d97f (diff)
downloadtcl-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.h9
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)