=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mail/cmd2.c,v retrieving revision 1.2 retrieving revision 1.3 diff -c -r1.2 -r1.3 *** src/usr.bin/mail/cmd2.c 1996/06/11 12:53:33 1.2 --- src/usr.bin/mail/cmd2.c 1997/07/13 21:21:09 1.3 *************** *** 1,5 **** ! /* $OpenBSD: cmd2.c,v 1.2 1996/06/11 12:53:33 deraadt Exp $ */ ! /* $NetBSD: cmd2.c,v 1.5 1996/06/08 19:48:13 christos Exp $ */ /* * Copyright (c) 1980, 1993 --- 1,5 ---- ! /* $OpenBSD: cmd2.c,v 1.3 1997/07/13 21:21:09 millert Exp $ */ ! /* $NetBSD: cmd2.c,v 1.7 1997/05/17 19:55:10 pk Exp $ */ /* * Copyright (c) 1980, 1993 *************** *** 38,44 **** #if 0 static char sccsid[] = "@(#)cmd2.c 8.1 (Berkeley) 6/6/93"; #else ! static char rcsid[] = "$OpenBSD: cmd2.c,v 1.2 1996/06/11 12:53:33 deraadt Exp $"; #endif #endif /* not lint */ --- 38,44 ---- #if 0 static char sccsid[] = "@(#)cmd2.c 8.1 (Berkeley) 6/6/93"; #else ! static char rcsid[] = "$OpenBSD: cmd2.c,v 1.3 1997/07/13 21:21:09 millert Exp $"; #endif #endif /* not lint */ *************** *** 70,76 **** if (*msgvec != NULL) { /* ! * If some messages were supplied, find the * first applicable one following dot using * wrap around. */ --- 70,76 ---- if (*msgvec != NULL) { /* ! * If some messages were supplied, find the * first applicable one following dot using * wrap around. */ *************** *** 99,105 **** if (*ip2 == NULL) ip2 = msgvec; } while (ip2 != ip); ! printf("No messages applicable\n"); return(1); } --- 99,105 ---- if (*ip2 == NULL) ip2 = msgvec; } while (ip2 != ip); ! puts("No messages applicable"); return(1); } *************** *** 120,126 **** if ((mp->m_flag & (MDELETED|MSAVED)) == 0) break; if (mp >= &message[msgCount]) { ! printf("At EOF\n"); return(0); } dot = mp; --- 120,126 ---- if ((mp->m_flag & (MDELETED|MSAVED)) == 0) break; if (mp >= &message[msgCount]) { ! puts("At EOF"); return(0); } dot = mp; *************** *** 144,150 **** { char *str = v; ! return save1(str, 1, "save", saveignore); } /* --- 144,150 ---- { char *str = v; ! return(save1(str, 1, "save", saveignore)); } /* *************** *** 156,162 **** { char *str = v; ! return save1(str, 0, "copy", saveignore); } /* --- 156,162 ---- { char *str = v; ! return(save1(str, 0, "copy", saveignore)); } /* *************** *** 176,182 **** int f, *msgvec; FILE *obuf; ! msgvec = (int *) salloc((msgCount + 2) * sizeof *msgvec); if ((file = snarf(str, &f)) == NOSTR) return(1); if (!f) { --- 176,182 ---- int f, *msgvec; FILE *obuf; ! msgvec = (int *) salloc((msgCount + 2) * sizeof(*msgvec)); if ((file = snarf(str, &f)) == NOSTR) return(1); if (!f) { *************** *** 198,204 **** else disp = "[New file]"; if ((obuf = Fopen(file, "a")) == NULL) { ! perror(NOSTR); return(1); } for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) { --- 198,204 ---- else disp = "[New file]"; if ((obuf = Fopen(file, "a")) == NULL) { ! warn(NOSTR); return(1); } for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) { *************** *** 206,212 **** touch(mp); if (send(mp, obuf, ignore, NOSTR) < 0) { perror(file); ! Fclose(obuf); return(1); } if (mark) --- 206,212 ---- touch(mp); if (send(mp, obuf, ignore, NOSTR) < 0) { perror(file); ! (void)Fclose(obuf); return(1); } if (mark) *************** *** 215,221 **** fflush(obuf); if (ferror(obuf)) perror(file); ! Fclose(obuf); printf("%s\n", disp); return(0); } --- 215,221 ---- fflush(obuf); if (ferror(obuf)) perror(file); ! (void)Fclose(obuf); printf("%s\n", disp); return(0); } *************** *** 230,236 **** { char *str = v; ! return save1(str, 1, "write", ignoreall); } /* --- 230,236 ---- { char *str = v; ! return(save1(str, 1, "write", ignoreall)); } /* *************** *** 267,273 **** while (cp > linebuf && !isspace(*cp)) cp--; if (*cp == '\0') { ! printf("No file specified.\n"); return(NOSTR); } if (isspace(*cp)) --- 267,273 ---- while (cp > linebuf && !isspace(*cp)) cp--; if (*cp == '\0') { ! puts("No file specified."); return(NOSTR); } if (isspace(*cp)) *************** *** 286,292 **** { int *msgvec = v; delm(msgvec); ! return 0; } /* --- 286,292 ---- { int *msgvec = v; delm(msgvec); ! return(0); } /* *************** *** 308,316 **** list[1] = NULL; return(type(list)); } ! printf("At EOF\n"); } else ! printf("No more messages\n"); return(0); } --- 308,316 ---- list[1] = NULL; return(type(list)); } ! puts("At EOF"); } else ! puts("No more messages"); return(0); } *************** *** 372,378 **** dot = mp; mp->m_flag &= ~MDELETED; } ! return 0; } /* --- 372,378 ---- dot = mp; mp->m_flag &= ~MDELETED; } ! return(0); } /* *************** *** 393,406 **** abort(); _exit(1); } ! printf("Okie dokie"); fflush(stdout); wait_child(pid); if (wait_status.w_coredump) ! printf(" -- Core dumped.\n"); else ! printf(" -- Can't dump core.\n"); ! return 0; } /* --- 393,406 ---- abort(); _exit(1); } ! fputs("Okie dokie", stdout); fflush(stdout); wait_child(pid); if (wait_status.w_coredump) ! puts(" -- Core dumped."); else ! puts(" -- Can't dump core."); ! return(0); } /* *************** *** 418,424 **** else times = (atoi(argv[0]) + 511) / 512; clob1(times); ! return 0; } /* --- 418,424 ---- else times = (atoi(argv[0]) + 511) / 512; clob1(times); ! return(0); } /* *************** *** 448,454 **** { char **list = v; ! return ignore1(list, ignore + 1, "retained"); } /* --- 448,454 ---- { char **list = v; ! return(ignore1(list, ignore + 1, "retained")); } /* *************** *** 461,467 **** { char **list = v; ! return ignore1(list, ignore, "ignored"); } int --- 461,467 ---- { char **list = v; ! return(ignore1(list, ignore, "ignored")); } int *************** *** 470,476 **** { char **list = v; ! return ignore1(list, saveignore + 1, "retained"); } int --- 470,476 ---- { char **list = v; ! return(ignore1(list, saveignore + 1, "retained")); } int *************** *** 479,485 **** { char **list = v; ! return ignore1(list, saveignore, "ignored"); } int --- 479,485 ---- { char **list = v; ! return(ignore1(list, saveignore, "ignored")); } int *************** *** 488,514 **** struct ignoretab *tab; char *which; { ! char field[BUFSIZ]; register int h; register struct ignore *igp; char **ap; if (*list == NOSTR) ! return igshow(tab, which); for (ap = list; *ap != 0; ap++) { istrcpy(field, *ap); if (member(field, tab)) continue; h = hash(field); ! igp = (struct ignore *) calloc(1, sizeof (struct ignore)); igp->i_field = calloc((unsigned) strlen(field) + 1, ! sizeof (char)); strcpy(igp->i_field, field); igp->i_link = tab->i_head[h]; tab->i_head[h] = igp; tab->i_count++; } ! return 0; } /* --- 488,514 ---- struct ignoretab *tab; char *which; { ! char field[LINESIZE]; register int h; register struct ignore *igp; char **ap; if (*list == NOSTR) ! return(igshow(tab, which)); for (ap = list; *ap != 0; ap++) { istrcpy(field, *ap); if (member(field, tab)) continue; h = hash(field); ! igp = (struct ignore *) calloc(1, sizeof(struct ignore)); igp->i_field = calloc((unsigned) strlen(field) + 1, ! sizeof(char)); strcpy(igp->i_field, field); igp->i_link = tab->i_head[h]; tab->i_head[h] = igp; tab->i_count++; } ! return(0); } /* *************** *** 525,542 **** if (tab->i_count == 0) { printf("No fields currently being %s.\n", which); ! return 0; } ! ring = (char **) salloc((tab->i_count + 1) * sizeof (char *)); ap = ring; for (h = 0; h < HSHSIZE; h++) for (igp = tab->i_head[h]; igp != 0; igp = igp->i_link) *ap++ = igp->i_field; *ap = 0; ! qsort(ring, tab->i_count, sizeof (char *), igcomp); for (ap = ring; *ap != 0; ap++) ! printf("%s\n", *ap); ! return 0; } /* --- 525,542 ---- if (tab->i_count == 0) { printf("No fields currently being %s.\n", which); ! return(0); } ! ring = (char **) salloc((tab->i_count + 1) * sizeof(char *)); ap = ring; for (h = 0; h < HSHSIZE; h++) for (igp = tab->i_head[h]; igp != 0; igp = igp->i_link) *ap++ = igp->i_field; *ap = 0; ! qsort(ring, tab->i_count, sizeof(char *), igcomp); for (ap = ring; *ap != 0; ap++) ! puts(*ap); ! return(0); } /* *************** *** 546,550 **** igcomp(l, r) const void *l, *r; { ! return (strcmp(*(char **)l, *(char **)r)); } --- 546,550 ---- igcomp(l, r) const void *l, *r; { ! return(strcmp(*(char **)l, *(char **)r)); }