X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fscan.c;h=f53cf1dd1209369b7d373dfe5b0d574459efc923;hp=ef13e39c29fada81f4e8513f311ab6c6b1cdf212;hb=2abb9a7cfb0930e27062088734d306e7d78e4cc2;hpb=51d0e643f8daeb2db8de0a3d31d7d7f038b48380 diff --git a/uip/scan.c b/uip/scan.c index ef13e39..f53cf1d 100644 --- a/uip/scan.c +++ b/uip/scan.c @@ -12,6 +12,8 @@ #include #include #include +#include +#include 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; }