Switch from using RETSIGTYPE via autoconf to void.
[mmh] / uip / mhlist.c
index 9ec8f5d..3104e6f 100644 (file)
 #include <h/md5.h>
 #include <errno.h>
 #include <signal.h>
-#include <h/mts.h>
 #include <h/tws.h>
 #include <h/mime.h>
 #include <h/mhparse.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
 
-#ifdef HAVE_SYS_WAIT_H
-# include <sys/wait.h>
-#endif
-
 static struct swit switches[] = {
 #define CHECKSW  0
        { "check", 0 },
@@ -111,7 +106,7 @@ void freects_done(int) NORETURN;
 /*
 ** static prototypes
 */
-static RETSIGTYPE pipeser(int);
+static void pipeser(int);
 
 
 int
@@ -131,7 +126,7 @@ 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();
@@ -219,8 +214,9 @@ do_cache:
 
                        case FILESW:
                                if (!(cp = *argp++) || (*cp == '-' && cp[1]))
-                                       adios(NULL, "missing argument to %s", argp[-2]);
-                               file = *cp == '-' ? cp : path(cp, TFILE);
+                                       adios(NULL, "missing argument to %s",
+                                                       argp[-2]);
+                               file = *cp == '-' ? cp : getcpy(expanddir(cp));
                                continue;
 
                        case VERBSW:
@@ -238,7 +234,7 @@ do_cache:
                        if (folder)
                                adios(NULL, "only one folder at a time!");
                        else
-                               folder = pluspath(cp);
+                               folder = getcpy(expandfol(cp));
                } else
                        app_msgarg(&msgs, cp);
        }
@@ -256,7 +252,7 @@ do_cache:
        /* Check for private cache location */
        if (!(cache_private = context_find(nmhprivcache)))
                cache_private = ".cache";
-       cache_private = getcpy(m_maildir(cache_private));
+       cache_private = getcpy(toabsdir(cache_private));
 
        /*
        ** Check for storage directory.  If specified,
@@ -266,10 +262,7 @@ do_cache:
        if ((cp = context_find(nmhstorage)) && *cp)
                tmp = concat(cp, "/", invo_name, NULL);
        else
-               tmp = add(m_maildir(invo_name), NULL);
-
-       if (!context_find("path"))
-               free(path("./", TFOLDER));
+               tmp = getcpy(toabsdir(invo_name));
 
        if (file && msgs.size)
                adios(NULL, "cannot specify msg and file at same time!");
@@ -282,17 +275,17 @@ do_cache:
                        adios(NULL, "out of memory");
                ctp = cts;
 
-               if ((ct = parse_mime(file)));
+               if ((ct = parse_mime(file)))
                        *ctp++ = ct;
        } else {
                /*
                ** message(s) are coming from a folder
                */
                if (!msgs.size)
-                       app_msgarg(&msgs, "cur");
+                       app_msgarg(&msgs, seq_cur);
                if (!folder)
-                       folder = getfolder(1);
-               maildir = m_maildir(folder);
+                       folder = getcurfol();
+               maildir = toabsdir(folder);
 
                if (chdir(maildir) == NOTOK)
                        adios(maildir, "unable to change directory to");
@@ -363,7 +356,7 @@ do_cache:
 
        /* If reading from a folder, do some updating */
        if (mp) {
-               context_replace(pfolder, folder);  /* update current folder */
+               context_replace(curfolder, folder); /* update current folder */
                seq_setcur(mp, mp->hghsel);  /* update current message */
                seq_save(mp);  /* synchronize sequences  */
                context_save();  /* save the context file  */
@@ -374,7 +367,7 @@ do_cache:
 }
 
 
-static RETSIGTYPE
+static void
 pipeser(int i)
 {
        if (i == SIGQUIT) {