diff options
author | sebres <sebres@users.sourceforge.net> | 2019-07-08 15:00:12 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2019-07-08 15:00:12 (GMT) |
commit | a4c8e24f4c0b13c92c3fc5ff48db242e617342bf (patch) | |
tree | 73e60707fbf6f58413384aea00c958c6cec194bd /generic | |
parent | 28f17c0d70fbde10d830f3580e744b2de0b702bc (diff) | |
download | tcl-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.c | 16 |
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) { |