From 1349f617de10d156b11480a30a69ea280500a75c Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Wed, 2 Jan 2019 18:39:19 +0100 Subject: mshow: exit with 1 if not all attachments were found --- mshow.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mshow.c') diff --git a/mshow.c b/mshow.c index c4f5228..4b87f46 100644 --- a/mshow.c +++ b/mshow.c @@ -35,6 +35,7 @@ static char fallback_ct[] = "text/plain"; struct message *filters; static int mimecount; +static int extractcount; static int safe_output; static int reply_found; @@ -525,6 +526,7 @@ extract_mime(int depth, struct message *msg, char *body, size_t bodylen) printf("%s\n", bufptr); writefile(bufptr, body, bodylen); } + extractcount++; } else if (filename && fnmatch(a, filename, FNM_PATHNAME) == 0) { // extract by name @@ -545,6 +547,7 @@ extract_mime(int depth, struct message *msg, char *body, size_t bodylen) printf("\n"); writefile(filename, body, bodylen); } + extractcount++; } } } @@ -839,5 +842,10 @@ main(int argc, char *argv[]) if (pid1 > 0) pipeclose(pid1); + if ((xflag || Oflag) && extractcount < argc-optind) { + fprintf(stderr, "mshow: could not extract all attachments\n"); + return 1; + } + return 0; } -- cgit 1.4.1