X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fscan.c;h=085cc7fa7ea3c54a5b206356520bd53277604074;hp=18de4c48e9ccdb078120064c32de8de7d32086c5;hb=32b2354dbaf4bf934936eb5b102a4a3d2fdd209a;hpb=d3540eaa4251b3a282115a72ed5d1bb39ce74b3f diff --git a/uip/scan.c b/uip/scan.c index 18de4c4..085cc7f 100644 --- a/uip/scan.c +++ b/uip/scan.c @@ -10,47 +10,33 @@ #include #include #include -#include #include #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 FMTSW 3 - { "format string", 5 }, -#define WIDTHSW 4 +#define WIDTHSW 1 { "width columns", 0 }, -#define FILESW 5 +#define FILESW 2 { "file file", 4 }, -#define VERSIONSW 6 - { "version", 0 }, -#define HELPSW 7 +#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, *format = NULL, buf[BUFSIZ]; - char **argp, *nfs, **arguments; + char *form = NULL, buf[BUFSIZ]; + char **argp, *fmtstr, **arguments; struct msgs_array msgs = { 0, 0, NULL }; struct msgs *mp; FILE *in; @@ -86,24 +72,10 @@ 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", argp[-2]); - format = NULL; - continue; - case FMTSW: - if (!(format = *argp++) || *format == '-') - adios(NULL, "missing argument to %s", - argp[-2]); - form = NULL; continue; case WIDTHSW: @@ -134,7 +106,7 @@ main(int argc, char **argv) /* ** Get new format string. Must be before chdir(). */ - nfs = new_fs(form, format, FORMAT); + fmtstr = new_fs(form, FORMAT); /* ** We are scanning a maildrop file @@ -153,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); @@ -215,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) { @@ -236,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; @@ -252,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;