X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/3afd424b248b00353486cc9b3d25fc1e4bc04cdd..4548a3ecc4248a1d4:/uip/show.c?ds=sidebyside diff --git a/uip/show.c b/uip/show.c index ff204358..ad750462 100644 --- a/uip/show.c +++ b/uip/show.c @@ -66,7 +66,7 @@ main (int argc, char **argv) { int draftsw = 0, headersw = 1; int nshow = 0, checkmime = 1, mime; - int procp = 1, isdf = 0, mode = SHOW, msgnum; + int isdf = 0, mode = SHOW, msgnum; char *cp, *maildir, *file = NULL, *folder = NULL, *proc; char buf[BUFSIZ], **argp, **arguments; struct msgs *mp = NULL; @@ -191,7 +191,6 @@ usage: app_msgarg(&msgs, cp); } } - procp = vec.size; if (!context_find ("path")) free (path ("./", TFOLDER)); @@ -330,23 +329,6 @@ go_to_it: ; done (0); } - /* - * If you are not using a nmh command as your "proc", then - * add the path to the message names. Currently, we are just - * checking for mhn here, since we've already taken care of mhl. - */ - if (!strcmp (r1bindex (proc, '/'), "mhl") - && !draftsw - && !file - && chdir (maildir = concat (m_maildir (""), "/", NULL)) != NOTOK) { - mp->foldpath = concat (mp->foldpath, "/", NULL); - cp = ssequal (maildir, mp->foldpath) - ? mp->foldpath + strlen (maildir) - : mp->foldpath; - for (msgnum = procp; msgnum < vec.size; msgnum++) - vec.msgs[msgnum] = concat (cp, vec.msgs[msgnum], NULL); - } - vec.msgs[0] = r1bindex (proc, '/'); app_msgarg(&vec, NULL); execvp (proc, vec.msgs); @@ -371,7 +353,8 @@ is_nontext (char *msgnam) return 0; for (state = FLD;;) { - switch (state = m_getfld (state, name, buf, sizeof(buf), fp)) { + int bufsz = sizeof buf; + switch (state = m_getfld (state, name, buf, &bufsz, fp)) { case FLD: case FLDPLUS: case FLDEOF: @@ -384,7 +367,8 @@ is_nontext (char *msgnam) cp = add (buf, NULL); while (state == FLDPLUS) { - state = m_getfld (state, name, buf, sizeof(buf), fp); + bufsz = sizeof buf; + state = m_getfld (state, name, buf, &bufsz, fp); cp = add (buf, cp); } bp = cp; @@ -487,7 +471,8 @@ out: if (!mh_strcasecmp (name, ENCODING_FIELD)) { cp = add (buf, NULL); while (state == FLDPLUS) { - state = m_getfld (state, name, buf, sizeof(buf), fp); + bufsz = sizeof buf; + state = m_getfld (state, name, buf, &bufsz, fp); cp = add (buf, cp); } for (bp = cp; isspace (*bp); bp++) @@ -511,8 +496,10 @@ out: * Just skip the rest of this header * field and go to next one. */ - while (state == FLDPLUS) - state = m_getfld (state, name, buf, sizeof(buf), fp); + while (state == FLDPLUS) { + bufsz = sizeof buf; + state = m_getfld (state, name, buf, &bufsz, fp); + } break; /*