summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2019-07-08 15:00:12 (GMT)
committersebres <sebres@users.sourceforge.net>2019-07-08 15:00:12 (GMT)
commita4c8e24f4c0b13c92c3fc5ff48db242e617342bf (patch)
tree73e60707fbf6f58413384aea00c958c6cec194bd /generic
parent28f17c0d70fbde10d830f3580e744b2de0b702bc (diff)
downloadtcl-a4c8e24f4c0b13c92c3fc5ff48db242e617342bf.zip
tcl-a4c8e24f4c0b13c92c3fc5ff48db242e617342bf.tar.gz
tcl-a4c8e24f4c0b13c92c3fc5ff48db242e617342bf.tar.bz2
amend to [c14252171d]: fixes [4718b41c56] for x64 (and x86 with 64-bit predefined time_t resp. CRT library)
Diffstat (limited to 'generic')
-rw-r--r--generic/tclCmdAH.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index 259b8cd..0a0f54e 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -875,10 +875,20 @@ Tcl_FileObjCmd(
* 64-bit platforms. [Bug #698146]
*/
- long newTime;
+ time_t newTime;
- if (TclGetLongFromObj(interp, objv[3], &newTime) != TCL_OK) {
- return TCL_ERROR;
+ if ((time_t)WIDE_MAX < WIDE_MAX) {
+ long i;
+ if (TclGetLongFromObj(interp, objv[3], &i) != TCL_OK) {
+ return TCL_ERROR;
+ }
+ newTime = i;
+ } else {
+ Tcl_WideInt i;
+ if (Tcl_GetWideIntFromObj(interp, objv[3], &i) != TCL_OK) {
+ return TCL_ERROR;
+ }
+ newTime = i;
}
if (index == FCMD_ATIME) {