X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/20ce29e738d1a15764197559d256a85ef89d85d7..f345b9b480296b4b6a8469d6221752893c5d1420:/uip/scan.c diff --git a/uip/scan.c b/uip/scan.c index 1f487cdd..e556e8f2 100644 --- a/uip/scan.c +++ b/uip/scan.c @@ -41,7 +41,7 @@ int main (int argc, char **argv) { int clearflag = 0, hdrflag = 0, ontty; - int width = 0, revflag = 0; + int width = -1, revflag = 0; int i, state, msgnum; ivector_t seqnum = ivector_create (0); int unseen, num_unseen_seq = 0; @@ -52,13 +52,7 @@ main (int argc, char **argv) struct msgs *mp; FILE *in; -#ifdef LOCALE - setlocale(LC_ALL, ""); -#endif - invo_name = r1bindex (argv[0], '/'); - - /* read user profile/context */ - context_read(); + if (nmh_init(argv[0], 1)) { return 1; } mts_init (invo_name); arguments = getarguments (invo_name, argc, argv, 1); @@ -171,8 +165,11 @@ main (int argc, char **argv) scan_detect_mbox_style (in); for (msgnum = 1; ; ++msgnum) { + charstring_t scanl = NULL; + state = scan (in, msgnum, -1, nfs, width, 0, 0, - hdrflag ? file : NULL, 0L, 1); + hdrflag ? file : NULL, 0L, 1, &scanl); + charstring_free (scanl); if (state != SCNMSG && state != SCNENC) break; } @@ -235,6 +232,8 @@ main (int argc, char **argv) (revflag ? msgnum >= mp->lowsel : msgnum <= mp->hghsel); msgnum += (revflag ? -1 : 1)) { if (is_selected(mp, msgnum)) { + charstring_t scanl = NULL; + if ((in = fopen (cp = m_name (msgnum), "r")) == NULL) { admonish (cp, "unable to open message"); continue; @@ -258,7 +257,7 @@ main (int argc, char **argv) switch (state = scan (in, msgnum, 0, nfs, width, msgnum == mp->curmsg, unseen, - folder, 0L, 1)) { + folder, 0L, 1, &scanl)) { case SCNMSG: case SCNENC: case SCNERR: @@ -271,6 +270,7 @@ main (int argc, char **argv) advise (NULL, "message %d: empty", msgnum); break; } + charstring_free (scanl); scan_finished (); hdrflag = 0; fclose (in);