summaryrefslogtreecommitdiffstats
path: root/generic/tclLink.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-11-13 21:04:19 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-11-13 21:04:19 (GMT)
commitad8c23540cd977b9e923053d0e86a56207761680 (patch)
tree141d7a82c5cb9b47ac8b675fef1c021a520d40ed /generic/tclLink.c
parent4e39644e1e0b2c89d06189ae0d14527235499bd1 (diff)
parentf7dfeb706fb75bccd0aae6cd6119fccdfb6bd8d0 (diff)
downloadtcl-ad8c23540cd977b9e923053d0e86a56207761680.zip
tcl-ad8c23540cd977b9e923053d0e86a56207761680.tar.gz
tcl-ad8c23540cd977b9e923053d0e86a56207761680.tar.bz2
Implement TIP 445
Diffstat (limited to 'generic/tclLink.c')
-rw-r--r--generic/tclLink.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/generic/tclLink.c b/generic/tclLink.c
index 64b82c1..6227d85 100644
--- a/generic/tclLink.c
+++ b/generic/tclLink.c
@@ -416,7 +416,8 @@ LinkTraceProc(
case TCL_LINK_DOUBLE:
if (Tcl_GetDoubleFromObj(NULL, valueObj, &linkPtr->lastValue.d) != TCL_OK) {
#ifdef ACCEPT_NAN
- if (valueObj->typePtr != &tclDoubleType) {
+ Tcl_ObjIntRep *irPtr = Tcl_FetchIntRep(valueObj, &tclDoubleType);
+ if (irPtr == NULL) {
#endif
if (GetInvalidDoubleFromObj(valueObj, &linkPtr->lastValue.d) != TCL_OK) {
Tcl_ObjSetVar2(interp, linkPtr->varName, NULL, ObjValue(linkPtr),
@@ -425,7 +426,7 @@ LinkTraceProc(
}
#ifdef ACCEPT_NAN
}
- linkPtr->lastValue.d = valueObj->internalRep.doubleValue;
+ linkPtr->lastValue.d = irPtr->doubleValue;
#endif
}
LinkedVar(double) = linkPtr->lastValue.d;