show: Print type of MIME part instead of error message if not displayable.
[mmh] / uip / mhshowsbr.c
index b5ecd09..71c1699 100644 (file)
@@ -248,7 +248,7 @@ show_content(CT ct, int alternate)
 
        /* complain if we are not a part of a multipart/alternative */
        if (!alternate)
-               content_error(NULL, ct, "don't know how to display content");
+               return show_content_aux(ct, alternate, "%l", NULL);
 
        return NOTOK;
 }
@@ -870,7 +870,7 @@ show_message_rfc822(CT ct, int alternate)
 
        /* complain if we are not a part of a multipart/alternative */
        if (!alternate)
-               content_error(NULL, ct, "don't know how to display content");
+               return show_content_aux(ct, alternate, "%l", NULL);
 
        return NOTOK;
 }
@@ -883,8 +883,8 @@ show_message_rfc822(CT ct, int alternate)
 static int
 show_partial(CT ct, int alternate)
 {
-       content_error(NULL, ct,
-               "in order to display this message, you must reassemble it");
+       show_content_aux(ct, alternate, "%l", NULL);
+       puts("in order to display this message, you must reassemble it");
        return NOTOK;
 }
 
@@ -900,11 +900,11 @@ show_external(CT ct, int alternate)
        FILE *fp;
        char buf[BUFSIZ];
 
-       msg = add("You need to fetch the contents yourself:", NULL);
+       msg = add("You need to fetch the contents yourself:\n", NULL);
        ap = ct->c_ctinfo.ci_attrs;
        ep = ct->c_ctinfo.ci_values;
        for (; *ap; ap++, ep++) {
-               msg = add(concat("\n\t", *ap, ": ", *ep, NULL), msg);
+               msg = add(concat("\t", *ap, ": ", *ep, NULL), msg);
        }
        if (!(fp = fopen(ct->c_file, "r"))) {
                adios(ct->c_file, "unable to open");
@@ -915,9 +915,13 @@ show_external(CT ct, int alternate)
                        adios(ct->c_file, "unable to read");
                }
                *strchr(buf, '\n') = '\0';
-               msg = add(concat("\n\t", buf, NULL), msg);
+               if (!*buf) {
+                       continue;  /* skip empty lines */
+               }
+               msg = add(concat("\t", buf, "\n", NULL), msg);
        }
        fclose(fp);
-       content_error(NULL, ct, msg);
+       show_content_aux(ct, alternate, "%l", NULL);
+       fputs(msg, stdout);
        return OK;
 }