summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdAH.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclCmdAH.c')
-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) {