diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2016-08-06 19:30:45 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2016-08-06 19:30:45 +0200 |
commit | 2776c838fe43e56260f44f63b12536bd41787d8c (patch) | |
tree | 775dbbe44fc66faec7b9cf056103d659b2dad041 | |
parent | 5eb7837aa8706b0050dee2fd6a2eb5d41510d18d (diff) | |
download | mblaze-2776c838fe43e56260f44f63b12536bd41787d8c.tar.gz mblaze-2776c838fe43e56260f44f63b12536bd41787d8c.tar.xz mblaze-2776c838fe43e56260f44f63b12536bd41787d8c.zip |
mshow: extract headers with -H -O
-rw-r--r-- | man/mshow.1 | 5 | ||||
-rw-r--r-- | mshow.c | 12 |
2 files changed, 16 insertions, 1 deletions
diff --git a/man/mshow.1 b/man/mshow.1 index f079217..21c82f5 100644 --- a/man/mshow.1 +++ b/man/mshow.1 @@ -74,7 +74,10 @@ pattern. .It Fl O Ar msg Like .Fl x -but extract to standard output. +but write to standard output. +When used together with +.Fl H , +print the headers of the MIME part too. .It Fl t Switch to list mode: list all MIME parts of each diff --git a/mshow.c b/mshow.c index c7bb43d..c24f31f 100644 --- a/mshow.c +++ b/mshow.c @@ -443,6 +443,12 @@ 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) { + fwrite(blaze822_orig_header(msg), + 1, blaze822_headerlen(msg), + stdout); + printf("\n\n"); + } fwrite(body, 1, bodylen, stdout); } else { char buf[255]; @@ -461,6 +467,12 @@ 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) { + fwrite(blaze822_orig_header(msg), + 1, blaze822_headerlen(msg), + stdout); + printf("\n\n"); + } fwrite(body, 1, bodylen, stdout); } else { printf("%s\n", filename); |