From 969b872849b1c4d7fe179ef6c442850e876aeeb6 Mon Sep 17 00:00:00 2001 From: Mike Kazantsev Date: Wed, 9 Apr 2014 01:19:48 +0600 Subject: Return success exit code from "bsdcat --help" and print usage to stdout. --- cat/bsdcat.c | 14 +++++++++----- cat/bsdcat.h | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'cat') diff --git a/cat/bsdcat.c b/cat/bsdcat.c index 43122db7..e5e50e43 100644 --- a/cat/bsdcat.c +++ b/cat/bsdcat.c @@ -39,12 +39,12 @@ char *bsdcat_current_path; void -usage(void) +usage(FILE *stream, int eval) { const char *p; p = lafe_getprogname(); - fprintf(stderr, "Usage: %s [-h] [--help] [--version] [--] [filenames...]\n", p); - exit(1); + fprintf(stream, "Usage: %s [-h] [--help] [--version] [--] [filenames...]\n", p); + exit(eval); } static void @@ -94,10 +94,14 @@ main(int argc, char **argv) case '-': if (strcmp(argv[optind], "--version") == 0) version(); - if (strcmp(argv[optind], "--help") != 0) + if (strcmp(argv[optind], "--help") != 0) { lafe_warnc(0, "invalid option -- '%s'", argv[optind]); + usage(stderr, 1); + } + case 'h': + usage(stdout, 0); default: - usage(); + usage(stderr, 1); } } diff --git a/cat/bsdcat.h b/cat/bsdcat.h index 0f6e38e8..227e01ac 100644 --- a/cat/bsdcat.h +++ b/cat/bsdcat.h @@ -34,7 +34,7 @@ #include #include -void usage(void); +void usage(FILE *stream, int eval); void bsdcat_next(void); void bsdcat_print_error(void); void bsdcat_read_to_stdout(char* filename); -- cgit v1.2.1