summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-28 14:02:17 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-28 14:02:17 (GMT)
commit03a9eede3b52a1056baffec1925ba4a5f1363441 (patch)
treef2e96f2a7535031295d8cf0b8b049fe7f9c6a2ab
parent487067a6d17bc8a87213c22d6c20ffd95d27b208 (diff)
parent42bd6877bcc8794524e5be946458a4427994b7a6 (diff)
downloadtcl-03a9eede3b52a1056baffec1925ba4a5f1363441.zip
tcl-03a9eede3b52a1056baffec1925ba4a5f1363441.tar.gz
tcl-03a9eede3b52a1056baffec1925ba4a5f1363441.tar.bz2
Merge 8.7
-rwxr-xr-xgeneric/tclArithSeries.c18
-rw-r--r--generic/tclCmdIL.c7
2 files changed, 10 insertions, 15 deletions
diff --git a/generic/tclArithSeries.c b/generic/tclArithSeries.c
index 1346514..2f60d54 100755
--- a/generic/tclArithSeries.c
+++ b/generic/tclArithSeries.c
@@ -229,26 +229,24 @@ TclNewArithSeriesDbl(double start, double end, double step, Tcl_WideInt len)
static void
assignNumber(int useDoubles, Tcl_WideInt *intNumberPtr, double *dblNumberPtr, Tcl_Obj *numberObj)
{
- union {
- double d;
- Tcl_WideInt i;
- } *number;
+ void *clientData;
int tcl_number_type;
- if (Tcl_GetNumberFromObj(NULL, numberObj, (void **)&number, &tcl_number_type) != TCL_OK) {
+ if (Tcl_GetNumberFromObj(NULL, numberObj, &clientData, &tcl_number_type) != TCL_OK
+ || tcl_number_type == TCL_NUMBER_BIG) {
return;
}
if (useDoubles) {
- if (tcl_number_type == TCL_NUMBER_DOUBLE) {
- *dblNumberPtr = number->d;
+ if (tcl_number_type != TCL_NUMBER_INT) {
+ *dblNumberPtr = *(double *)clientData;
} else {
- *dblNumberPtr = (double)number->i;
+ *dblNumberPtr = (double)*(Tcl_WideInt *)clientData;
}
} else {
if (tcl_number_type == TCL_NUMBER_INT) {
- *intNumberPtr = number->i;
+ *intNumberPtr = *(Tcl_WideInt *)clientData;
} else {
- *intNumberPtr = (Tcl_WideInt)number->d;
+ *intNumberPtr = (Tcl_WideInt)*(double *)clientData;
}
}
}
diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c
index 46f0e89..4b7bd48 100644
--- a/generic/tclCmdIL.c
+++ b/generic/tclCmdIL.c
@@ -4077,12 +4077,9 @@ SequenceIdentifyArgument(
int status;
SequenceOperators opmode;
SequenceByMode bymode;
- union {
- Tcl_WideInt i;
- double d;
- } nvalue;
+ void *clientData;
- status = Tcl_GetNumberFromObj(NULL, argPtr, (ClientData*)&nvalue, keywordIndexPtr);
+ status = Tcl_GetNumberFromObj(NULL, argPtr, &clientData, keywordIndexPtr);
if (status == TCL_OK) {
if (numValuePtr) {
*numValuePtr = argPtr;