mblaze

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

commit 914b78a58f5dc668bbe6106e366a3bb18813cfbb
parent 21d353f91e9cb3869334a9118173d86b3fa8c6da
Author: Christian Neukirchen <chneukirchen@gmail.com>
Date:   Mon,  8 Aug 2016 14:23:20 +0200

mhdr: set exit status to 1 when no header was found

Diffstat:
man/mhdr.1 | 6+++++-
mhdr.c | 12++++++++++--
2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/man/mhdr.1 b/man/mhdr.1 @@ -41,7 +41,11 @@ Scan for RFC 5322 addresses in the headers and print them line by line. Assume header contains RFC 5322 date and print as Unix timestamp. .El .Sh EXIT STATUS -.Ex -std +The +.Nm +utility exits 0 on success, +1 when no header was printed, +and >1 if an error occurs. .Sh SEE ALSO .Xr mmsg 7 .Rs diff --git a/mhdr.c b/mhdr.c @@ -17,6 +17,8 @@ static int Dflag; static int Mflag; static int dflag; +static int status; + static void printhdr(char *hdr) { @@ -29,6 +31,8 @@ printhdr(char *hdr) } fputs(hdr, stdout); fputc('\n', stdout); + + status = 0; } void @@ -88,6 +92,8 @@ print_decode_header(char *s) void print_header(char *v) { + status = 0; + if (Aflag) print_addresses(v); else if (Dflag) @@ -179,13 +185,15 @@ main(int argc, char *argv[]) default: fprintf(stderr, "Usage: mhdr [-h header] [-d] [-M] [-A|-D] [msgs...]\n"); - exit(1); + exit(2); } + status = 1; + if (argc == optind && isatty(0)) blaze822_loop1(".", header); else blaze822_loop(argc-optind, argv+optind, header); - return 0; + return status; }