aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2016-08-09 20:53:43 +0200
committerChristian Neukirchen <chneukirchen@gmail.com>2016-08-09 20:53:43 +0200
commitd779211dc7173d3eb3628930a3f81b5d201919ff (patch)
tree454895bf5240b288488d5f4bd5ac9a9753374501
parentd233737be4a91daff5fe6bb17a06a16f7fc34266 (diff)
downloadmblaze-d779211dc7173d3eb3628930a3f81b5d201919ff.tar.gz
mshow: ensure plain text output ends with a newline
-rw-r--r--mshow.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/mshow.c b/mshow.c
index f836b76..2111512 100644
--- a/mshow.c
+++ b/mshow.c
@@ -45,9 +45,8 @@ printhdr(char *hdr)
hdr++;
}
- if (*hdr) {
+ if (*hdr)
printf("%s\n", hdr);
- }
}
int
@@ -205,6 +204,8 @@ render_mime(int depth, struct message *msg, char *body, size_t bodylen)
if (e == 0) { // replace output
printf(" render=\"%s\" ---\n", cmd);
print_ascii(output, outlen);
+ if (output[outlen-1] != '\n')
+ putchar('\n');
} else if (e == 63) { // skip filter
free(output);
goto nofilter;
@@ -243,10 +244,13 @@ nofilter:
if (!charset ||
strcasecmp(charset, "utf-8") == 0 ||
strcasecmp(charset, "utf8") == 0 ||
- strcasecmp(charset, "us-ascii") == 0)
+ strcasecmp(charset, "us-ascii") == 0) {
print_ascii(body, bodylen);
- else
+ if (body[bodylen-1] != '\n')
+ putchar('\n');
+ } else {
print_u8recode(body, bodylen, charset);
+ }
free(charset);
} else if (strncmp(ct, "message/rfc822", 14) == 0) {
struct message *imsg = blaze822_mem(body, bodylen);