about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/utils.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 7065e309d..d27000788 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-11  Peter Stephenson  <p.w.stephenson@ntlworld.com>
+
+	* 31650: Src/utils.c: use zlong for mailcheck parameters to
+	ensure sufficient range.
+
 2013-08-10  Peter Stephenson  <p.w.stephenson@ntlworld.com>
 
 	* 31648: joe M: Src/utils.c: fix timing errors in mailcheck.
diff --git a/Src/utils.c b/Src/utils.c
index 6d9ffe350..d1d9406c2 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -1289,8 +1289,8 @@ preprompt(void)
     static time_t lastperiodic;
     time_t currentmailcheck;
     LinkNode ln;
-    int period = getiparam("PERIOD");
-    int mailcheck = getiparam("MAILCHECK");
+    zlong period = getiparam("PERIOD");
+    zlong mailcheck = getiparam("MAILCHECK");
 
     /*
      * Handle any pending window size changes before we compute prompts,
@@ -1338,7 +1338,7 @@ preprompt(void)
     /* If 1) the parameter PERIOD exists, 2) a hook function for    *
      * "periodic" exists, 3) it's been greater than PERIOD since we *
      * executed any such hook, then execute it now.                 */
-    if (period && (time(NULL) > lastperiodic + period) &&
+    if (period && ((zlong)time(NULL) > (zlong)lastperiodic + period) &&
 	!callhookfunc("periodic", NULL, 1, NULL))
 	lastperiodic = time(NULL);
     if (errflag)
@@ -1358,7 +1358,7 @@ preprompt(void)
     /* Check mail */
     currentmailcheck = time(NULL);
     if (mailcheck &&
-	(int) difftime(currentmailcheck, lastmailcheck) > mailcheck) {
+	(zlong) difftime(currentmailcheck, lastmailcheck) > mailcheck) {
 	char *mailfile;
 
 	if (mailpath && *mailpath && **mailpath)