]> diplodocus.org Git - nmh/blobdiff - uip/show.c
Removed call to fpurge() and its platform-specific emulations
[nmh] / uip / show.c
index ff2043589e0f669c427fa831a83c8ae16f721f0b..ad7504623352f21723bdf186f79dce3b1631d7ea 100644 (file)
@@ -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;
 
            /*