diff options
-rw-r--r-- | man/mhdr.1 | 6 | ||||
-rw-r--r-- | mhdr.c | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/man/mhdr.1 b/man/mhdr.1 index 48672fe..b7a064e 100644 --- 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 index 97b99e1..955c0f2 100644 --- 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; } |