Augmented new_fs() with an additional argument for a default form.
[mmh] / uip / comp.c
index ce76cd8..6508ba6 100644 (file)
@@ -43,6 +43,8 @@ main(int argc, char **argv)
        char *folder = NULL, *msg = NULL, buf[BUFSIZ];
        char drft[BUFSIZ], **argp, **arguments;
        struct msgs *mp = NULL;
+       char *nfs;
+
 
 #ifdef LOCALE
        setlocale(LC_ALL, "");
@@ -162,14 +164,14 @@ main(int argc, char **argv)
                close(out);
 
        } else {
-               in = open_form(&form, components);
-
+               nfs = new_fs(form, NULL, components, NULL);
                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);
+               if (write(out, nfs, strlen(nfs)) != strlen(nfs)) {
+                       adios(drft, "error writing");
+               }
                close(out);
        }