diff options
author | Leah Neukirchen <leah@vuxu.org> | 2018-04-17 15:26:19 +0200 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2018-04-17 15:26:19 +0200 |
commit | d261b0cdcf4c16060630f4f1d1bb9c674f8caf65 (patch) | |
tree | 319ee63e610f12bc9890afc878a8ee2492f78fc6 /mshow.c | |
parent | 5d43ad24048698ba89858648389e7e8479801746 (diff) | |
download | mblaze-d261b0cdcf4c16060630f4f1d1bb9c674f8caf65.tar.gz mblaze-d261b0cdcf4c16060630f4f1d1bb9c674f8caf65.tar.xz mblaze-d261b0cdcf4c16060630f4f1d1bb9c674f8caf65.zip |
mshow: add -B to decode MIME parameters in broken mails
Diffstat (limited to 'mshow.c')
-rw-r--r-- | mshow.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mshow.c b/mshow.c index edb110b..d4b1ba8 100644 --- a/mshow.c +++ b/mshow.c @@ -15,6 +15,7 @@ #include "blaze822.h" +static int Bflag; static int rflag; static int Rflag; static int qflag; @@ -166,6 +167,12 @@ mime_filename(struct message *msg) filename = buf; } + if (Bflag && filename) { + static char buf2[512]; + blaze822_decode_rfc2047(buf2, filename, sizeof buf2, "UTF-8"); + filename = buf2; + } + return filename; } @@ -743,10 +750,11 @@ main(int argc, char *argv[]) pid_t pid1 = -1, pid2 = -1; int c; - while ((c = getopt(argc, argv, "h:A:qrtFHLNx:O:Rn")) != -1) + while ((c = getopt(argc, argv, "h:A:BqrtFHLNx:O:Rn")) != -1) switch (c) { case 'h': hflag = optarg; break; case 'A': Aflag = optarg; break; + case 'B': Bflag = 1; break; case 'q': qflag = 1; break; case 'r': rflag = 1; break; case 'F': Fflag = 1; break; |