Replaced open_form() with new_fs() for the last time and dropped the function.
[mmh] / uip / dist.c
index 9ecfea1..39d6525 100644 (file)
@@ -21,19 +21,15 @@ static struct swit switches[] = {
        { "noedit", 0 },
 #define FORMSW  4
        { "form formfile", 0 },
-#define INPLSW  5
-       { "inplace", 0 },
-#define NINPLSW  6
-       { "noinplace", 0 },
-#define WHATSW  7
+#define WHATSW  5
        { "whatnowproc program", 0 },
-#define NWHATSW  8
+#define NWHATSW  6
        { "nowhatnowproc", 0 },
-#define VERSIONSW  9
+#define VERSIONSW  7
        { "version", 0 },
-#define HELPSW  10
+#define HELPSW  8
        { "help", 0 },
-#define FILESW  11
+#define FILESW  9
        { "file file", -4 },  /* interface from msh */
        { NULL, 0 }
 };
@@ -42,13 +38,14 @@ static struct swit switches[] = {
 int
 main(int argc, char **argv)
 {
-       int anot = 0, inplace = 1, nedit = 0;
+       int anot = 0, nedit = 0;
        int nwhat = 0, in, out;
        char *cp, *cwd, *maildir, *msgnam;
        char *ed = NULL, *file = NULL, *folder = NULL;
        char *form = NULL, *msg = NULL, buf[BUFSIZ], drft[BUFSIZ];
        char **argp, **arguments;
        struct msgs *mp = NULL;
+       char *nfs;
 
 #ifdef LOCALE
        setlocale(LC_ALL, "");
@@ -118,13 +115,6 @@ main(int argc, char **argv)
                                        adios(NULL, "missing argument to %s",
                                                        argp[-2]);
                                continue;
-
-                       case INPLSW:
-                               inplace++;
-                               continue;
-                       case NINPLSW:
-                               inplace = 0;
-                               continue;
                        }
                }
                if (*cp == '+' || *cp == '@') {
@@ -145,15 +135,14 @@ main(int argc, char **argv)
        if (file && (msg || folder))
                adios(NULL, "can't mix files and folders/msgs");
 
-       in = open_form(&form, distcomps);
-
-       strncpy(drft, m_draft("new"), sizeof(drft));
-
+       strncpy(drft, m_draft(seq_beyond), sizeof(drft));
        if ((out = creat(drft, m_gmprot())) == NOTOK)
                adios(drft, "unable to create");
 
-       cpydata(in, out, form, drft);
-       close(in);
+       nfs = new_fs(form, NULL, distcomps, NULL);
+       if (write(out, nfs, strlen(nfs)) != strlen(nfs)) {
+               adios(drft, "error writing");
+       }
        close(out);
 
        if (file) {
@@ -166,7 +155,7 @@ main(int argc, char **argv)
                ** Dist a message
                */
                if (!msg)
-                       msg = "cur";
+                       msg = seq_cur;
                if (!folder)
                        folder = getcurfol();
                maildir = toabsdir(folder);
@@ -205,7 +194,7 @@ main(int argc, char **argv)
        if (nwhat)
                done(0);
        what_now(ed, nedit, NOUSE, drft, msgnam, 1, mp, anot ? "Resent" : NULL,
-                       inplace, cwd);
+                       cwd);
        done(1);
        return 1;
 }