Replace done with exit at uip
[mmh] / uip / whatnow.c
index ff9d84c..fbc8582 100644 (file)
@@ -110,7 +110,7 @@ main(int argc, char **argv)
                        switch (smatch(++cp, switches)) {
                        case AMBIGSW:
                                ambigsw(cp, switches);
-                               done(1);
+                               exit(1);
                        case UNKWNSW:
                                adios(NULL, "-%s unknown", cp);
 
@@ -119,10 +119,10 @@ main(int argc, char **argv)
                                                "%s [switches] [file]",
                                                invo_name);
                                print_help(buf, switches, 1);
-                               done(1);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case EDITRSW:
                                if (!(ed = *argp++) || *ed == '-')
@@ -161,14 +161,15 @@ main(int argc, char **argv)
                                unlink(drft);
                        }
                        advise(NULL, "Try again.");
-                       done(1);
+                       /* sysexits.h EX_SOFTWARE */
+                       exit(1);
                }
        }
 
        snprintf(prompt, sizeof(prompt), myprompt, invo_name);
        for (;;) {
                if (!(argp = getans(prompt, aleqs))) {
-                       done(1);
+                       exit(1);
                }
                switch (smatch(*argp, aleqs)) {
                case DISPSW:
@@ -199,12 +200,12 @@ main(int argc, char **argv)
                        if (stat(drft, &st) != NOTOK) {
                                advise(NULL, "draft left on %s", drft);
                        }
-                       done(1);
+                       exit(1);
 
                case DELETESW:
                        /* Delete draft and exit */
                        removefile(drft);
-                       done(1);
+                       exit(1);
 
                case SENDSW:
                        /* Send draft */
@@ -214,7 +215,7 @@ main(int argc, char **argv)
                case REFILEOPT:
                        /* Refile the draft */
                        if (refile(++argp, drft) == 0) {
-                               done(0);
+                               exit(0);
                        }
                        break;
 
@@ -302,32 +303,28 @@ main(int argc, char **argv)
                        ** working directory to relative path names.
                        ** Add the attachment annotation to the draft.
                        */
-                       if ((f = popen_in_dir(cwd, buf, "r"))) {
-                               while (fgets(shell, sizeof(shell), f)) {
-                                       *(strchr(shell, '\n')) = '\0';
-
-                                       if (*shell == '/')
-                                               sprintf(file, "%s", shell);
-                                       else {
-                                               sprintf(file, "%s/%s", cwd,
-                                                               shell);
-                                       }
-                                       if (execprogl("anno", "anno",
-                                                       "-nodate",
-                                                       "-append", "-comp",
-                                                       attach_hdr, "-text",
-                                                       file, drft,
-                                                       (char *)NULL)
-                                                       != 0) {
-                                               advise(NULL, "Could not add attachment header.");
-                                       }
-                               }
-
-                               pclose(f);
-                       } else {
+                       if (!(f = popen_in_dir(cwd, buf, "r"))) {
                                advise("popen", "could not get file from shell");
+                               break;
                        }
 
+                       while (fgets(shell, sizeof(shell), f)) {
+                               *(strchr(shell, '\n')) = '\0';
+
+                               if (*shell == '/')
+                                       sprintf(file, "%s", shell);
+                               else {
+                                       sprintf(file, "%s/%s", cwd, shell);
+                               }
+                               if (execprogl("anno", "anno",
+                                               "-nodate", "-append",
+                                               "-comp", attach_hdr,
+                                               "-text", file,
+                                               drft, (char *)NULL) != 0) {
+                                       advise(NULL, "Could not add attachment header.");
+                               }
+                       }
+                       pclose(f);
                        break;
 
                case DETACHCMDSW:
@@ -596,7 +593,7 @@ sendfile(char **arg, char *file)
 
        default:
                if (pidwait(child_id, OK) == 0)
-                       done(0);
+                       exit(0);
                return 1;
        }
 }