Augmented new_fs() with an additional argument for a default form.
[mmh] / uip / inc.c
index 186312e..762a858 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>
 
@@ -121,8 +120,6 @@ static FILE *in;
 /*
 ** prototypes
 */
-char *map_name(char *);
-
 static void inc_done(int) NORETURN;
 
 
@@ -163,12 +160,11 @@ main(int argc, char **argv)
 #ifdef LOCALE
        setlocale(LC_ALL, "");
 #endif
-       invo_name = r1bindex(argv[0], '/');
+       invo_name = mhbasename(argv[0]);
 
        /* read user profile/context */
        context_read();
 
-       mts_init(invo_name);
        arguments = getarguments(invo_name, argc, argv, 1);
        argp = arguments;
 
@@ -192,7 +188,7 @@ main(int argc, char **argv)
                        case AUDSW:
                                if (!(cp = *argp++) || *cp == '-')
                                        adios(NULL, "missing argument to %s", argp[-2]);
-                               audfile = getcpy(m_maildir(cp));
+                               audfile = getcpy(expanddir(cp));
                                continue;
                        case NAUDSW:
                                audfile = NULL;
@@ -223,7 +219,7 @@ main(int argc, char **argv)
                                if (!(cp = *argp++) || *cp == '-')
                                        adios(NULL, "missing argument to %s",
                                                        argp[-2]);
-                               from = path(cp, TFILE);
+                               from = getcpy(expanddir(cp));
 
                                /*
                                ** If the truncate file is in default state,
@@ -265,7 +261,7 @@ main(int argc, char **argv)
                        if (folder)
                                adios(NULL, "only one folder at a time!");
                        else
-                               folder = pluspath(cp);
+                               folder = getcpy(expandfol(cp));
                } else {
                        adios(NULL, "usage: %s [+folder] [switches]",
                                        invo_name);
@@ -286,27 +282,25 @@ main(int argc, char **argv)
        if (from)
                newmail = from;
        else if ((newmail = getenv("MAILDROP")) && *newmail)
-               newmail = m_mailpath(newmail);
+               newmail = toabsdir(newmail);
        else if ((newmail = context_find("maildrop")) && *newmail)
-               newmail = m_mailpath(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");
 
-       if ((cp = strdup(newmail)) == (char *)0)
+       if ((cp = strdup(newmail)) == NULL)
                adios(NULL, "error allocating memory to copy newmail");
 
        newmail = cp;
 
-       if (!context_find("path"))
-               free(path("./", TFOLDER));
        if (!folder)
-               folder = getfolder(0);
-       maildir = m_maildir(folder);
+               folder = getdeffol();
+       maildir = toabsdir(folder);
 
-       if ((maildir_copy = strdup(maildir)) == (char *)0)
+       if ((maildir_copy = strdup(maildir)) == NULL)
                adios(maildir, "error allocating memory to copy maildir");
 
        if (!folder_exists(maildir)) {
@@ -379,7 +373,7 @@ main(int argc, char **argv)
 #endif /* MHE */
 
        /* Get new format string */
-       nfs = new_fs(form, format, FORMAT);
+       nfs = new_fs(form, format, NULL, FORMAT);
 
        if (noisy) {
                printf("Incorporating new mail into %s...\n\n", folder);
@@ -434,7 +428,7 @@ main(int argc, char **argv)
 
                        snprintf(b, sizeof (b), "%s/%d", maildir_copy,
                                        msgnum + 1);
-                       ext_hook("add-hook", b, (char *)0);
+                       ext_hook("add-hook", b, NULL);
 
                        if (aud)
                                fputs(scanl, aud);
@@ -465,7 +459,7 @@ main(int argc, char **argv)
        if (incerr < 0) {  /* error */
                if (locked) {
                        GETGROUPPRIVS();  /* Be sure we can unlock mail file */
-                       (void) lkfclose(in, newmail); in = NULL;
+                       lkfclose(in, newmail); in = NULL;
                        DROPGROUPPRIVS();  /*
                                        ** And then return us to normal
                                        ** privileges
@@ -499,7 +493,6 @@ main(int argc, char **argv)
                                close(newfd);
                        else
                                admonish(newmail, "error zero'ing");
-                       unlink(map_name(newmail));
                }
        } else if (noisy) {
                printf("%s not zero'd\n", newmail);
@@ -508,7 +501,7 @@ main(int argc, char **argv)
        if (msgnum == hghnum) {
                admonish(NULL, "no messages incorporated");
        } else {
-               context_replace(pfolder, folder);  /* update current folder */
+               context_replace(curfolder, folder); /* update current folder */
                if (chgflag)
                        mp->curmsg = hghnum + 1;
                mp->hghmsg = msgnum;
@@ -523,13 +516,13 @@ main(int argc, char **argv)
        */
        if (locked) {
                GETGROUPPRIVS();  /* Be sure we can unlock mail file */
-               (void) lkfclose(in, newmail); in = NULL;
+               lkfclose(in, newmail); in = NULL;
                DROPGROUPPRIVS();  /* And then return us to normal privileges */
        } else {
                fclose(in); in = NULL;
        }
 
-       seq_setunseen(mp, 0);  /* set the Unseen-Sequence */
+       seq_setunseen(mp, 1);  /* add new msgs to unseen sequences */
        seq_save(mp);  /* synchronize sequences   */
        context_save();  /* save the context file   */
        done(0);