diff options
author | gahr <gahr@gahr.ch> | 2017-04-28 11:15:08 (GMT) |
---|---|---|
committer | gahr <gahr@gahr.ch> | 2017-04-28 11:15:08 (GMT) |
commit | daebde9815505a26c673a6c966df7fab99e122a5 (patch) | |
tree | d7a0abe2125d06ac8011b87397a26b351c08b64c | |
parent | cdb8c059fb04e193b1978610b3ed6750792efbff (diff) | |
download | tcl-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.c | 18 |
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 */ /* |