if MAIL is unset, we can short circuit the check a little bit.
Index: mail.c
===================================================================
RCS file: /cvs/src/bin/ksh/mail.c,v
retrieving revision 1.24
diff -u -p -r1.24 mail.c
--- mail.c 25 Jun 2018 15:22:30 -0000 1.24
+++ mail.c 10 Dec 2018 02:56:55 -0000
@@ -47,6 +47,15 @@ mcheck(void)
struct stat stbuf;
static int first = 1;
+ if (mplist)
+ mbp = mplist;
+ else if ((vp = global("MAIL")) && (vp->flag & ISSET))
+ mbp = &mbox;
+ else
+ mbp = NULL;
+ if (mbp == NULL)
+ return;
+
clock_gettime(CLOCK_MONOTONIC, &now);
if (first) {
mlastchkd = now;
@@ -55,13 +64,6 @@ mcheck(void)
timespecsub(&now, &mlastchkd, &elapsed);
if (elapsed.tv_sec >= mailcheck_interval) {
mlastchkd = now;
-
- if (mplist)
- mbp = mplist;
- else if ((vp = global("MAIL")) && (vp->flag & ISSET))
- mbp = &mbox;
- else
- mbp = NULL;
while (mbp) {
if (mbp->mb_path && stat(mbp->mb_path, &stbuf) == 0 &&