Move #include from h/mh.h to source files
[mmh] / uip / refile.c
index b07c32d..17e6d61 100644 (file)
@@ -11,6 +11,8 @@
 #include <h/utils.h>
 #include <fcntl.h>
 #include <errno.h>
+#include <unistd.h>
+#include <locale.h>
 
 static struct swit switches[] = {
 #define LINKSW  0
@@ -73,17 +75,17 @@ main(int argc, char **argv)
                        switch (smatch(++cp, switches)) {
                        case AMBIGSW:
                                ambigsw(cp, switches);
-                               done(1);
+                               exit(1);
                        case UNKWNSW:
                                adios(NULL, "-%s unknown\n", cp);
 
                        case HELPSW:
                                snprintf(buf, sizeof(buf), "%s [msgs] [switches] +folder ...", invo_name);
                                print_help(buf, switches, 1);
-                               done(1);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case LINKSW:
                                linkf++;
@@ -132,7 +134,8 @@ main(int argc, char **argv)
                opnfolds(folders, foldp);
                for (i = 0; i < filep; i++)
                        if (m_file(files[i], folders, foldp, 0))
-                               done(1);
+                               /* sysexits.h EX_IOERR */
+                               exit(1);
                /* If -nolink, then unlink files */
                if (!linkf) {
                        int i;
@@ -144,7 +147,7 @@ main(int argc, char **argv)
                                        admonish(files[i], "unable to unlink");
                        }
                }
-               done(0);
+               exit(0);
        }
 
        if (!msgs.size)
@@ -167,7 +170,8 @@ main(int argc, char **argv)
        /* parse the message range/sequence/name and set SELECTED */
        for (msgnum = 0; msgnum < msgs.size; msgnum++)
                if (!m_convert(mp, msgs.msgs[msgnum]))
-                       done(1);
+                       /* sysexits.h EX_USAGE */
+                       exit(1);
        seq_setprev(mp);  /* set the previous-sequence */
 
        /* create folder structures for each destination folder */
@@ -183,7 +187,8 @@ main(int argc, char **argv)
                if (is_selected(mp, msgnum)) {
                        cp = getcpy(m_name(msgnum));
                        if (m_file(cp, folders, foldp, !linkf))
-                               done(1);
+                               /* sysexits.h EX_IOERR */
+                               exit(1);
                        free(cp);
                }
        }
@@ -208,8 +213,7 @@ main(int argc, char **argv)
        context_replace(curfolder, folder);
        context_save();
        folder_free(mp);
-       done(0);
-       return 1;
+       return 0;
 }
 
 
@@ -228,7 +232,7 @@ opnfolds(struct st_fold *folders, int nfolders)
                chdir(toabsdir("+"));
                strncpy(nmaildir, toabsdir(fp->f_name), sizeof(nmaildir));
 
-               create_folder(nmaildir, 0, done);
+               create_folder(nmaildir, 0, exit);
 
                if (chdir(nmaildir) == NOTOK)
                        adios(nmaildir, "unable to change directory to");