X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fscan.c;h=085cc7fa7ea3c54a5b206356520bd53277604074;hp=cfcd3e4c3e867eb09fad67a81075d165c304588c;hb=32b2354dbaf4bf934936eb5b102a4a3d2fdd209a;hpb=f51956be123db66b00138f80464d06f030dbb88d diff --git a/uip/scan.c b/uip/scan.c index cfcd3e4..085cc7f 100644 --- a/uip/scan.c +++ b/uip/scan.c @@ -14,40 +14,29 @@ #include static struct swit switches[] = { -#define CLRSW 0 - { "clear", 0 }, -#define NCLRSW 1 - { "noclear", 0 }, -#define FORMSW 2 +#define FORMSW 0 { "form formatfile", 0 }, -#define WIDTHSW 3 +#define WIDTHSW 1 { "width columns", 0 }, -#define FILESW 4 +#define FILESW 2 { "file file", 4 }, -#define VERSIONSW 5 - { "version", 0 }, -#define HELPSW 6 +#define VERSIONSW 3 + { "Version", 0 }, +#define HELPSW 4 { "help", 0 }, { NULL, 0 } }; -/* -** prototypes -*/ -void clear_screen(void); /* from termsbr.c */ - - int main(int argc, char **argv) { - int clearflag = 0, ontty; int width = 0; int i, state, msgnum; 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; @@ -83,13 +72,6 @@ main(int argc, char **argv) print_version(invo_name); done(1); - case CLRSW: - clearflag++; - continue; - case NCLRSW: - clearflag = 0; - continue; - case FORMSW: if (!(form = *argp++) || *form == '-') adios(NULL, "missing argument to %s", @@ -124,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 @@ -143,11 +125,10 @@ 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, - NULL, 0L, 1); - if (state != SCNMSG && state != SCNENC) + state = scan(in, msgnum, SCN_MBOX, fmtstr, width, 0, 0); + if (state != SCNMSG) break; } fclose(in); @@ -205,8 +186,6 @@ main(int argc, char **argv) } } - ontty = isatty(fileno(stdout)); - for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) { if (is_selected(mp, msgnum)) { if ((in = fopen(cp = m_name(msgnum), "r")) == NULL) { @@ -226,11 +205,9 @@ main(int argc, char **argv) } } - switch (state = scan(in, msgnum, 0, nfs, width, - msgnum == mp->curmsg, unseen, - folder, 0L, 1)) { + switch (state = scan(in, msgnum, SCN_FOLD, fmtstr, + width, msgnum==mp->curmsg, unseen)) { case SCNMSG: - case SCNENC: case SCNERR: break; @@ -242,14 +219,10 @@ main(int argc, char **argv) break; } fclose(in); - if (ontty) - fflush(stdout); } } folder_free(mp); /* free folder/message structure */ - if (clearflag) - clear_screen(); done(0); return 1;