Renamed -version switch to -Version to remove the conflict with -verbose.
[mmh] / uip / inc.c
index e3199c0..e155784 100644 (file)
--- a/uip/inc.c
+++ b/uip/inc.c
@@ -34,7 +34,6 @@
 #include <h/scansbr.h>
 #include <h/signals.h>
 #include <h/tws.h>
-#include <h/mts.h>
 #include <errno.h>
 #include <signal.h>
 
@@ -51,22 +50,21 @@ static struct swit switches[] = {
        { "file name", 0 },
 #define FORMSW  5
        { "form formatfile", 0 },
-#define FMTSW  6
-       { "format string", 5 },
-#define SILSW  7
+#define SILSW  6
        { "silent", 0 },
-#define NSILSW  8
+#define NSILSW  7
        { "nosilent", 0 },
-#define TRNCSW  9
+#define TRNCSW  8
        { "truncate", 0 },
-#define NTRNCSW  10
+#define NTRNCSW  9
        { "notruncate", 0 },
-#define WIDTHSW  11
+#define WIDTHSW  10
        { "width columns", 0 },
-#define VERSIONSW  12
-       { "version", 0 },
-#define HELPSW  13
+#define VERSIONSW  11
+       { "Version", 0 },
+#define HELPSW  12
        { "help", 0 },
+       { NULL, 0 },
 };
 
 /*
@@ -135,9 +133,9 @@ main(int argc, char **argv)
                        ** not truncate mailspool
                        */
        char *cp, *maildir = NULL, *folder = NULL;
-       char *format = NULL, *form = NULL;
+       char *form = NULL;
        char *audfile = NULL, *from = NULL;
-       char buf[BUFSIZ], **argp, *nfs, **arguments;
+       char buf[BUFSIZ], **argp, *fmtstr, **arguments;
        struct msgs *mp = NULL;
        struct stat st, s1;
        FILE *aud = NULL;
@@ -145,10 +143,6 @@ main(int argc, char **argv)
        /* copy of mail directory because the static gets overwritten */
        char *maildir_copy = NULL;
 
-#ifdef MHE
-       FILE *mhe = NULL;
-#endif
-
        done=inc_done;
 
 /*
@@ -166,7 +160,6 @@ main(int argc, char **argv)
        /* read user profile/context */
        context_read();
 
-       mts_init(invo_name);
        arguments = getarguments(invo_name, argc, argv, 1);
        argp = arguments;
 
@@ -242,13 +235,6 @@ main(int argc, char **argv)
                                if (!(form = *argp++) || *form == '-')
                                        adios(NULL, "missing argument to %s",
                                                        argp[-2]);
-                               format = NULL;
-                               continue;
-                       case FMTSW:
-                               if (!(format = *argp++) || *format == '-')
-                                       adios(NULL, "missing argument to %s",
-                                                       argp[-2]);
-                               form = NULL;
                                continue;
 
                        case WIDTHSW:
@@ -288,7 +274,7 @@ main(int argc, char **argv)
        else if ((newmail = context_find("maildrop")) && *newmail)
                newmail = toabsdir(newmail);
        else {
-               newmail = concat(MAILDIR, "/", MAILFIL, NULL);
+               newmail = concat(mailspool, "/", getusername(), NULL);
        }
        if (stat(newmail, &s1) == NOTOK || s1.st_size == 0)
                adios(NULL, "no mail to incorporate");
@@ -305,16 +291,7 @@ main(int argc, char **argv)
        if ((maildir_copy = strdup(maildir)) == NULL)
                adios(maildir, "error allocating memory to copy maildir");
 
-       if (!folder_exists(maildir)) {
-               /*
-               ** If the folder doesn't exist, and we're given the -silent
-               ** flag, just fail.
-               */
-               if (noisy)
-                       create_folder(maildir, 0, done);
-               else
-                       done(1);
-       }
+       create_folder(maildir, noisy ? 0 : 1, done);
 
        if (chdir(maildir) == NOTOK)
                adios(maildir, "unable to change directory to");
@@ -357,25 +334,11 @@ main(int argc, char **argv)
                        chmod(audfile, m_gmprot());
 
                fprintf(aud, from ? "<<inc>> %s  -ms %s\n" : "<<inc>> %s\n",
-                        dtimenow(0), from);
-       }
-
-#ifdef MHE
-       if (context_find("mhe")) {
-               int i;
-               cp = concat(maildir, "/++", NULL);
-               i = stat(cp, &st);
-               if ((mhe = fopen(cp, "a")) == NULL)
-                       admonish(cp, "unable to append to");
-               else
-                       if (i == NOTOK)
-                               chmod(cp, m_gmprot());
-               free(cp);
+                        dtimenow(), from);
        }
-#endif /* MHE */
 
        /* Get new format string */
-       nfs = new_fs(form, format, FORMAT);
+       fmtstr = new_fs(form, FORMAT);
 
        if (noisy) {
                printf("Incorporating new mail into %s...\n\n", folder);
@@ -385,7 +348,7 @@ main(int argc, char **argv)
        /*
        ** Get the mail from file (usually mail spool)
        */
-       m_unknown(in);  /* the MAGIC invocation... */
+       thisisanmbox(in);
        hghnum = msgnum = mp->hghmsg;
        for (;;) {
                /*
@@ -399,8 +362,9 @@ main(int argc, char **argv)
                }
 
                /* create scanline for new message */
-               switch (incerr = scan(in, msgnum + 1, msgnum + 1, nfs, width,
-                       msgnum == hghnum && chgflag, 1, NULL, 0L, noisy)) {
+               switch (incerr = scan(in, msgnum + 1, msgnum + 1,
+                               noisy ? fmtstr : NULL, width,
+                               msgnum == hghnum && chgflag, 1)) {
                case SCNFAT:
                case SCNEOF:
                        break;
@@ -423,7 +387,6 @@ main(int argc, char **argv)
                        break;
 
                case SCNMSG:
-               case SCNENC:
                        /*
                        **  Run the external program hook on the message.
                        */
@@ -434,10 +397,6 @@ main(int argc, char **argv)
 
                        if (aud)
                                fputs(scanl, aud);
-#ifdef MHE
-                       if (mhe)
-                               fputs(scanl, mhe);
-#endif /* MHE */
                        if (noisy)
                                fflush(stdout);
                        msgnum++;
@@ -457,6 +416,7 @@ main(int argc, char **argv)
                */
                break;
        }
+       free(maildir_copy);
 
        if (incerr < 0) {  /* error */
                if (locked) {
@@ -475,11 +435,6 @@ main(int argc, char **argv)
        if (aud)
                fclose(aud);
 
-#ifdef MHE
-       if (mhe)
-               fclose(mhe);
-#endif /* MHE */
-
        if (noisy)
                fflush(stdout);