diff options
Diffstat (limited to 'generic/tclCmdAH.c')
-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) { |