From: Mike Kazantsev Date: Tue, 8 Apr 2014 19:19:48 +0000 (+0600) Subject: Return success exit code from "bsdcat --help" and print usage to stdout. X-Git-Tag: v3.1.900a~304^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=969b872849b1c4d7fe179ef6c442850e876aeeb6;p=thirdparty%2Flibarchive.git Return success exit code from "bsdcat --help" and print usage to stdout. --- diff --git a/cat/bsdcat.c b/cat/bsdcat.c index 43122db76..e5e50e438 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 0f6e38e89..227e01ace 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);