mblaze

Unix utilities to deal with Maildir - my mirror
git clone https://pi.duncano.de/git/mblaze.git
Log | Files | Refs | README | COPYING

commit 7377f0dfc3a262e3110a046eafa1d61cbbd32bc7
parent 2776c838fe43e56260f44f63b12536bd41787d8c
Author: Christian Neukirchen <chneukirchen@gmail.com>
Date:   Sat,  6 Aug 2016 20:10:33 +0200

mshow: rather, use -r -O to print the part raw

Diffstat:
man/mshow.1 | 6++++--
mshow.c | 16++++++++++++----
2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/man/mshow.1 b/man/mshow.1 @@ -76,8 +76,10 @@ Like .Fl x but write to standard output. When used together with -.Fl H , -print the headers of the MIME part too. +.Fl r , +the whole part is raw, +that is, +un-decoded and including MIME part headers. .It Fl t Switch to list mode: list all MIME parts of each diff --git a/mshow.c b/mshow.c @@ -443,13 +443,17 @@ extract_mime(int depth, struct message *msg, char *body, size_t bodylen) if (errno == 0 && !*b && d == mimecount) { // extract by id if (extract_stdout) { - if (Hflag) { + if (rflag) { fwrite(blaze822_orig_header(msg), 1, blaze822_headerlen(msg), stdout); printf("\n\n"); + fwrite(blaze822_body(msg), + 1, blaze822_bodylen(msg), + stdout); + } else { + fwrite(body, 1, bodylen, stdout); } - fwrite(body, 1, bodylen, stdout); } else { char buf[255]; char *bufptr; @@ -467,13 +471,17 @@ extract_mime(int depth, struct message *msg, char *body, size_t bodylen) fnmatch(a, filename, FNM_PATHNAME) == 0) { // extract by name if (extract_stdout) { - if (Hflag) { + if (rflag) { fwrite(blaze822_orig_header(msg), 1, blaze822_headerlen(msg), stdout); printf("\n\n"); + fwrite(blaze822_body(msg), + 1, blaze822_bodylen(msg), + stdout); + } else { + fwrite(body, 1, bodylen, stdout); } - fwrite(body, 1, bodylen, stdout); } else { printf("%s\n", filename); writefile(filename, body, bodylen);