From 95d5b894202f6c42eae6a584f77bf9a80c5331f3 Mon Sep 17 00:00:00 2001 From: markus schnalke Date: Sat, 7 Jul 2012 15:30:29 +0200 Subject: [PATCH] show: Print type of MIME part instead of error message if not displayable. A further step in the general rework of show/mhshow. Print less error messages. Not being able to directly display some attachment is no exceptional event, but quite normal. Therefore, no error message should be printed but an information message that there is a MIME part. Printing to stdout makes the message to be integrated into the normal output. There's more rework of show needed. --- uip/mhshowsbr.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/uip/mhshowsbr.c b/uip/mhshowsbr.c index b5ecd09..71c1699 100644 --- a/uip/mhshowsbr.c +++ b/uip/mhshowsbr.c @@ -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; } -- 1.7.10.4