summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgahr <gahr@gahr.ch>2017-04-28 11:15:08 (GMT)
committergahr <gahr@gahr.ch>2017-04-28 11:15:08 (GMT)
commitdaebde9815505a26c673a6c966df7fab99e122a5 (patch)
treed7a0abe2125d06ac8011b87397a26b351c08b64c
parentcdb8c059fb04e193b1978610b3ed6750792efbff (diff)
downloadtcl-tkt_04e26c02c0.zip
tcl-tkt_04e26c02c0.tar.gz
tcl-tkt_04e26c02c0.tar.bz2
Make sure not to miss bignumstkt_04e26c02c0
-rw-r--r--generic/tclExecute.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 04f0232..908cabd 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -519,10 +519,12 @@ VarHashCreateVar(
((objPtr)->typePtr == &tclIntType) \
? (*(tPtr) = TCL_NUMBER_LONG, \
*(ptrPtr) = (ClientData) \
- (&((objPtr)->internalRep.longValue))) : \
- (*(tPtr) = TCL_NUMBER_DOUBLE, \
+ (&((objPtr)->internalRep.longValue)), TCL_OK) : \
+ ((objPtr)->typePtr == &tclDoubleType) \
+ ? (*(tPtr) = TCL_NUMBER_DOUBLE, \
*(ptrPtr) = (ClientData) \
- (&((objPtr)->internalRep.doubleValue)))
+ (&((objPtr)->internalRep.doubleValue)), TCL_OK) : \
+ TclGetNumberFromObj(NULL, (objPtr), (ptrPtr), (tPtr))
#else /* !TCL_WIDE_INT_IS_LONG */
#define GetNumberFromObj(interp, objPtr, ptrPtr, tPtr) \
(((objPtr)->typePtr == &tclIntType) \
@@ -546,14 +548,16 @@ VarHashCreateVar(
((objPtr)->typePtr == &tclIntType) \
? (*(tPtr) = TCL_NUMBER_LONG, \
*(ptrPtr) = (ClientData) \
- (&((objPtr)->internalRep.longValue))) : \
+ (&((objPtr)->internalRep.longValue)), TCL_OK) : \
((objPtr)->typePtr == &tclWideIntType) \
? (*(tPtr) = TCL_NUMBER_WIDE, \
*(ptrPtr) = (ClientData) \
- (&((objPtr)->internalRep.wideValue))) : \
- (*(tPtr) = TCL_NUMBER_DOUBLE, \
+ (&((objPtr)->internalRep.wideValue)), TCL_OK) : \
+ ((objPtr)->typePtr == &tclDoubleType) \
+ ? (*(tPtr) = TCL_NUMBER_DOUBLE, \
*(ptrPtr) = (ClientData) \
- (&((objPtr)->internalRep.doubleValue)))
+ (&((objPtr)->internalRep.doubleValue)), TCL_OK) : \
+ TclGetNumberFromObj(NULL, (objPtr), (ptrPtr), (tPtr))
#endif /* TCL_WIDE_INT_IS_LONG */
/*