Move #include from h/mh.h to source files
[mmh] / uip / repl.c
index 9c9e5ce..a5864c1 100644 (file)
 #include <h/fmt_scan.h>
 #include <sys/file.h>  /* L_SET */
 #include <errno.h>
-
+#include <unistd.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <locale.h>
 
 static struct swit switches[] = {
 #define GROUPSW  0
@@ -157,17 +160,17 @@ 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);
 
                        case HELPSW:
                                snprintf(buf, sizeof(buf), "%s: [+folder] [msg] [switches]", invo_name);
                                print_help(buf, switches, 1);
-                               done(0);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case GROUPSW:
                                groupreply++;
@@ -315,7 +318,8 @@ main(int argc, char **argv)
 
                /* parse the message range/sequence/name and set SELECTED */
                if (!m_convert(mp, msg))
-                       done(1);
+                       /* sysexits.h EX_USAGE */
+                       exit(1);
                seq_setprev(mp);  /* set the previous-sequence */
 
                if (mp->numsel > 1)
@@ -344,9 +348,9 @@ main(int argc, char **argv)
        fclose(in);
 
        if (buildsw)
-               done(0);
+               exit(0);
        what_now(ed, NOUSE, drft, msg, 0, mp, anot ? "Replied" : NULL, cwd);
-       done(1);
+       /* sysexits.h EX_SOFTWARE */
        return 1;
 }
 
@@ -356,7 +360,7 @@ docc(char *cp, int ccflag)
        switch (smatch(cp, ccswitches)) {
        case AMBIGSW:
                ambigsw(cp, ccswitches);
-               done(1);
+               exit(1);
        case UNKWNSW:
                adios(NULL, "-%scc %s unknown", ccflag ? "" : "no", cp);
 
@@ -573,11 +577,11 @@ finished:
                /* add an attachment header */
                char buffer[BUFSIZ];
 
-               snprintf(buffer, sizeof buffer, "anno -append -nodate '%s' "
-                               "-comp '%s' -text '+%s %s'",
-                               drft,
-                               attach_hdr, mp->foldpath, m_name(mp->lowsel));
-               if (system(buffer) != 0) {
+               snprintf(buffer, sizeof buffer, "+%s %s",
+                               mp->foldpath, m_name(mp->lowsel));
+               if (execprogl("anno", "anno", "-append", "-nodate",
+                               drft, "-comp", attach_hdr, "-text", buffer,
+                               (char *)NULL) != 0) {
                        advise(NULL, "unable to add attachment header");
                }
        }
@@ -771,7 +775,8 @@ replfilter(FILE *in, FILE *out, char *filter)
 
        default:
                if (pidXwait(pid, "mhl"))
-                       done(1);
+                       /* sysexits.h EX_SOFTWARE */
+                       exit(1);
                fseek(out, 0L, SEEK_END);
                break;
        }