cleanups, add manual page
[unix-history] / usr / src / usr.bin / mail / send.c
index 04cd3a4..28b0c66 100644 (file)
@@ -16,7 +16,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)send.c     5.14 (Berkeley) %G%";
+static char sccsid[] = "@(#)send.c     5.17 (Berkeley) %G%";
 #endif /* not lint */
 
 #include "rcv.h"
 #endif /* not lint */
 
 #include "rcv.h"
@@ -121,7 +121,7 @@ send(mp, obuf, doign, prefix)
                                if (doign && isign(line, doign))
                                        ignoring = 1;
                                else if ((line[0] == 's' || line[0] == 'S') &&
                                if (doign && isign(line, doign))
                                        ignoring = 1;
                                else if ((line[0] == 's' || line[0] == 'S') &&
-                                        icequal(line, "status")) {
+                                        strcasecmp(line, "status") == 0) {
                                        /*
                                         * If the field is "status," go compute
                                         * and print the real Status: field
                                        /*
                                         * If the field is "status," go compute
                                         * and print the real Status: field
@@ -286,13 +286,8 @@ mail1(hp, printheaders)
         * in them which we write to as files directly.
         */
        to = outof(to, mtf, hp);
         * in them which we write to as files directly.
         */
        to = outof(to, mtf, hp);
-       if (senderr) {
-               if (fsize(mtf) != 0) {
-                       (void) remove(deadletter);
-                       (void) exwrite(deadletter, mtf, 1);
-                       rewind(mtf);
-               }
-       }
+       if (senderr)
+               savedeadletter(mtf);
        to = elide(to);
        if (count(to) == 0)
                goto out;
        to = elide(to);
        if (count(to) == 0)
                goto out;
@@ -321,8 +316,7 @@ mail1(hp, printheaders)
        pid = fork();
        if (pid == -1) {
                perror("fork");
        pid = fork();
        if (pid == -1) {
                perror("fork");
-               (void) remove(deadletter);
-               (void) exwrite(deadletter, mtf, 1);
+               savedeadletter(mtf);
                goto out;
        }
        if (pid == 0) {
                goto out;
        }
        if (pid == 0) {
@@ -344,7 +338,7 @@ mail1(hp, printheaders)
                        cp = SENDMAIL;
                execv(cp, namelist);
                perror(cp);
                        cp = SENDMAIL;
                execv(cp, namelist);
                perror(cp);
-               exit(1);
+               _exit(1);
        }
        if (value("verbose") != NOSTR)
                (void) wait_child(pid);
        }
        if (value("verbose") != NOSTR)
                (void) wait_child(pid);