=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mail/cmd1.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- src/usr.bin/mail/cmd1.c 1997/05/30 08:51:34 1.5 +++ src/usr.bin/mail/cmd1.c 1997/07/13 21:21:08 1.6 @@ -1,5 +1,5 @@ -/* $OpenBSD: cmd1.c,v 1.5 1997/05/30 08:51:34 deraadt Exp $ */ -/* $NetBSD: cmd1.c,v 1.5 1996/06/08 19:48:11 christos Exp $ */ +/* $OpenBSD: cmd1.c,v 1.6 1997/07/13 21:21:08 millert Exp $ */ +/* $NetBSD: cmd1.c,v 1.9 1997/07/09 05:29:48 mikel Exp $ */ /*- * Copyright (c) 1980, 1993 @@ -36,9 +36,9 @@ #ifndef lint #if 0 -static char sccsid[] = "@(#)cmd1.c 8.1 (Berkeley) 6/6/93"; +static char sccsid[] = "@(#)cmd1.c 8.2 (Berkeley) 4/20/95"; #else -static char rcsid[] = "$OpenBSD: cmd1.c,v 1.5 1997/05/30 08:51:34 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: cmd1.c,v 1.6 1997/07/13 21:21:08 millert Exp $"; #endif #endif /* not lint */ @@ -91,7 +91,7 @@ printhead(mesg); } if (flag == 0) { - printf("No more mail.\n"); + puts("No more mail."); return(1); } return(0); @@ -116,7 +116,7 @@ case '+': s++; if (s * size > msgCount) { - printf("On last screenful of messages\n"); + puts("On last screenful of messages"); return(0); } screen = s; @@ -124,7 +124,7 @@ case '-': if (--s < 0) { - printf("On first screenful of messages\n"); + puts("On first screenful of messages"); return(0); } screen = s; @@ -147,8 +147,8 @@ char *cp; if ((cp = value("screen")) != NOSTR && (s = atoi(cp)) > 0) - return s; - return screenheight - 4; + return(s); + return(screenheight - 4); } /* @@ -204,7 +204,7 @@ if (mp->m_flag & MBOX) dispc = 'M'; parse(headline, &hl, pbuf); - sprintf(wcount, "%3d/%-5d", mp->m_lines, mp->m_size); + snprintf(wcount, sizeof(wcount), "%3d/%-5d", mp->m_lines, mp->m_size); subjlen = screenwidth - 50 - strlen(wcount); name = value("show-rcpt") != NOSTR ? skin(hfield("to", mp)) : nameof(mp, 0); @@ -239,17 +239,17 @@ register const struct cmd *cp; register int cc; - printf("Commands are:\n"); + puts("Commands are:"); for (cc = 0, cp = cmdtab; cp->c_name != NULL; cp++) { cc += strlen(cp->c_name) + 2; if (cc > 72) { - printf("\n"); + putchar('\n'); cc = strlen(cp->c_name) + 2; } if ((cp+1)->c_name != NOSTR) printf("%s, ", cp->c_name); else - printf("%s\n", cp->c_name); + puts(cp->c_name); } return(0); } @@ -262,7 +262,7 @@ void *v; { int *msgvec = v; - return (type1(msgvec, 1, 1)); + return(type1(msgvec, 1, 1)); } /* @@ -274,7 +274,7 @@ { int *msgvec = v; - return (type1(msgvec, 0, 1)); + return(type1(msgvec, 0, 1)); } /* @@ -337,7 +337,7 @@ cp = _PATH_MORE; obuf = Popen(cp, "w"); if (obuf == NULL) { - perror(cp); + warn(cp); obuf = stdout; } else signal(SIGPIPE, brokpipe); @@ -357,7 +357,7 @@ * Ignore SIGPIPE so it can't cause a duplicate close. */ signal(SIGPIPE, SIG_IGN); - Pclose(obuf); + (void)Pclose(obuf); signal(SIGPIPE, SIG_DFL); } return(0); @@ -407,7 +407,7 @@ ibuf = setinput(mp); c = mp->m_lines; if (!lineb) - printf("\n"); + putchar('\n'); for (lines = 0; lines < c && lines <= topl; lines++) { if (readline(ibuf, linebuf, LINESIZE) < 0) break; @@ -465,12 +465,36 @@ char dirname[PATHSIZE]; char *cmd; - if (getfold(dirname, sizeof dirname) < 0) { - printf("No value set for \"folder\"\n"); - return 1; + if (getfold(dirname, sizeof(dirname)) < 0) { + puts("No value set for \"folder\""); + return(1); } if ((cmd = value("LISTER")) == NOSTR) cmd = "ls"; (void) run_command(cmd, 0, -1, -1, dirname, NOSTR, NOSTR); - return 0; + return(0); +} + +/* + * Update the mail file with any new messages that have + * come in since we started reading mail. + */ +int +inc(v) + void *v; +{ + int nmsg, mdot; + + nmsg = incfile(); + + if (nmsg == 0) { + puts("No new mail."); + } else if (nmsg > 0) { + mdot = newfileinfo(msgCount - nmsg); + dot = &message[mdot - 1]; + } else { + puts("\"inc\" command failed..."); + } + + return(0); }