diff options
Diffstat (limited to 'mshow.c')
-rw-r--r-- | mshow.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/mshow.c b/mshow.c index f66e7b2..5ab309a 100644 --- a/mshow.c +++ b/mshow.c @@ -336,7 +336,7 @@ nofilter: static void choose_alternative(struct message *msg, int depth) { - int n = 1; + int n = 0; int m = 0; char *p = Aflag + strlen(Aflag); @@ -363,6 +363,13 @@ choose_alternative(struct message *msg, int depth) } blaze822_free(imsg); + if (n == 0) { + // No part matched, use last part as per RFC1341 7.2.3 + // "In general, choosing the best type means displaying + // only the LAST part that can be displayed." + n = m; + } + imsg = 0; while (blaze822_multipart(msg, &imsg)) if (--n == 0) |