]> diplodocus.org Git - nmh/blobdiff - uip/mhshowsbr.c
Added const to char * arguments of uprf().
[nmh] / uip / mhshowsbr.c
index b76a588bfe55c5708b18c86e302f7729dbf983eb..a9aa9c0b7c6a91bdc6ee53bb0ad82e3c38862726 100644 (file)
@@ -11,7 +11,6 @@
 #include <fcntl.h>
 #include <h/signals.h>
 #include <h/md5.h>
-#include <setjmp.h>
 #include <h/mts.h>
 #include <h/tws.h>
 #include <h/mime.h>
@@ -569,7 +568,7 @@ show_multi_internal (CT ct, int alternate, int concatsw, int textonly,
     int        alternating, nowalternate, result;
     struct multipart *m = (struct multipart *) ct->c_ctparams;
     struct part *part;
-    int any_part_ok;
+    int request_matched;
     CT p;
 
     alternating = 0;
@@ -580,13 +579,13 @@ show_multi_internal (CT ct, int alternate, int concatsw, int textonly,
        alternating  = 1;
     }
 
-/*
- * alternate   -> we are a part inside an multipart/alternative
- * alternating -> we are a multipart/alternative
- */
+    /*
    * alternate   -> we are a part inside an multipart/alternative
    * alternating -> we are a multipart/alternative
    */
 
     result = alternate ? NOTOK : OK;
-    any_part_ok = 0;
+    request_matched = 0;
 
     for (part = m->mp_parts; part; part = part->mp_next) {
        p = part->mp_part;
@@ -594,7 +593,7 @@ show_multi_internal (CT ct, int alternate, int concatsw, int textonly,
        if (part_ok (p, 1) && type_ok (p, 1)) {
            int inneresult;
 
-           any_part_ok = 1;
+           request_matched = 1;
 
            inneresult = show_switch (p, nowalternate, concatsw, textonly,
                                      inlineonly, fmt);
@@ -623,7 +622,7 @@ show_multi_internal (CT ct, int alternate, int concatsw, int textonly,
        }
     }
 
-    if (alternating && !part && any_part_ok) {
+    if (alternating && !part && request_matched) {
        if (!alternate)
            content_error (NULL, ct, "don't know how to display any of the contents");
        result = NOTOK;
@@ -631,7 +630,9 @@ show_multi_internal (CT ct, int alternate, int concatsw, int textonly,
     }
 
 out:
-    return result;
+    /* if no parts matched what was requested, there can't have been
+     * any display errors, so we report OK. */
+    return request_matched ? result : OK;
 }