Move #include from h/mh.h to source files
[mmh] / uip / scan.c
index ef13e39..f53cf1d 100644 (file)
@@ -12,6 +12,8 @@
 #include <h/tws.h>
 #include <h/utils.h>
 #include <errno.h>
+#include <unistd.h>
+#include <locale.h>
 
 static struct swit switches[] = {
 #define FORMSW  0
@@ -19,9 +21,9 @@ static struct swit switches[] = {
 #define WIDTHSW  1
        { "width columns", 0 },
 #define FILESW  2
-       { "file file", 4 },
+       { "file file", 0 },
 #define VERSIONSW 3
-       { "version", 0 },
+       { "Version", 0 },
 #define HELPSW  4
        { "help", 0 },
        { NULL, 0 }
@@ -36,14 +38,12 @@ main(int argc, char **argv)
        int seqnum[NUMATTRS], unseen, num_unseen_seq = 0;
        char *cp, *maildir, *file = NULL, *folder = NULL;
        char *form = NULL, buf[BUFSIZ];
-       char **argp, *nfs, **arguments;
+       char **argp, *fmtstr, **arguments;
        struct msgs_array msgs = { 0, 0, NULL };
        struct msgs *mp;
        FILE *in;
 
-#ifdef LOCALE
        setlocale(LC_ALL, "");
-#endif
        invo_name = mhbasename(argv[0]);
 
        /* read user profile/context */
@@ -60,17 +60,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", cp);
 
                        case HELPSW:
                                snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]", invo_name);
                                print_help(buf, switches, 1);
-                               done(1);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case FORMSW:
                                if (!(form = *argp++) || *form == '-')
@@ -106,7 +106,7 @@ main(int argc, char **argv)
        /*
        ** Get new format string.  Must be before chdir().
        */
-       nfs = new_fs(form, FORMAT);
+       fmtstr = new_fs(form, FORMAT);
 
        /*
        ** We are scanning a maildrop file
@@ -125,14 +125,14 @@ main(int argc, char **argv)
                        adios(file, "unable to open");
                }
 
-               m_unknown(in);
+               thisisanmbox(in);
                for (msgnum = 1; ; ++msgnum) {
-                       state = scan(in, msgnum, -1, nfs, width, 0, 0, 1);
+                       state = scan(in, msgnum, SCN_MBOX, fmtstr, width, 0, 0);
                        if (state != SCNMSG)
                                break;
                }
                fclose(in);
-               done(0);
+               exit(0);
        }
 
        /*
@@ -159,7 +159,7 @@ main(int argc, char **argv)
        /* parse all the message ranges/sequences and set SELECTED */
        for (msgnum = 0; msgnum < msgs.size; msgnum++)
                if (!m_convert(mp, msgs.msgs[msgnum]))
-                       done(1);
+                       exit(1);
        seq_setprev(mp);  /* set the Previous-Sequence */
 
        context_replace(curfolder, folder);  /* update current folder */
@@ -205,9 +205,8 @@ main(int argc, char **argv)
                                }
                        }
 
-                       switch (state = scan(in, msgnum, 0, nfs, width,
-                                               msgnum == mp->curmsg, unseen,
-                                               1)) {
+                       switch (state = scan(in, msgnum, SCN_FOLD, fmtstr,
+                                       width, msgnum==mp->curmsg, unseen)) {
                        case SCNMSG:
                        case SCNERR:
                                break;
@@ -225,6 +224,5 @@ main(int argc, char **argv)
 
        folder_free(mp);  /* free folder/message structure */
 
-       done(0);
-       return 1;
+       return 0;
 }