From f3bfa857cd7ad6c09b28c808603c05e3e0a9230a Mon Sep 17 00:00:00 2001 From: "Kurt A. Schoens" Date: Fri, 17 Oct 1980 08:32:30 -0800 Subject: [PATCH] announce now looks for the first unread message if there are no new messages and sets dot to the first "interesting" message it finds SCCS-vsn: usr.bin/mail/lex.c 1.7 --- usr/src/usr.bin/mail/lex.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/usr/src/usr.bin/mail/lex.c b/usr/src/usr.bin/mail/lex.c index 34b55123fd..a2835900ea 100644 --- a/usr/src/usr.bin/mail/lex.c +++ b/usr/src/usr.bin/mail/lex.c @@ -8,7 +8,7 @@ * Lexical processing of commands. */ -static char *SccsId = "@(#)lex.c 1.6 %G%"; +static char *SccsId = "@(#)lex.c 1.7 %G%"; /* * Set up editing on the given file name. @@ -479,17 +479,22 @@ char *greeting = "Mail version 2.0 %s. Type ? for help.\n"; announce(pr) { - int vec[2]; + int vec[2], mdot; extern char *version; register struct message *mp; for (mp = &message[0]; mp < &message[msgCount]; mp++) if (mp->m_flag & MNEW) break; + if (mp >= &message[msgCount]) + for (mp = &message[0]; mp < &message[msgCount]; mp++) + if ((mp->m_flag & MREAD) == 0) + break; if (mp < &message[msgCount]) - vec[0] = mp - &message[0] + 1; + mdot = mp - &message[0] + 1; else - vec[0] = 1; + mdot = 1; + vec[0] = mdot; vec[1] = 0; if (pr && value("quiet") == NOSTR) printf(greeting, version); @@ -501,6 +506,7 @@ announce(pr) printf(" [Read only]"); printf("\n"); headers(vec); + dot = &message[mdot - 1]; } strace() {} -- 2.20.1