[PATCH iproute2-next 6/7] genl: put help to stdout and usage to stderr
Stephen Hemminger <[email protected]>
| Newsgroups | org.kernel.vger.netdev |
|---|---|
| Message-ID | <[email protected]> |
Similar change to other iproute2 commands. Syntax error should print to stderr and exit with non-zero. Help command should print to stdout and exit with zero status. Signed-off-by: Stephen Hemminger <[email protected]> --- genl/genl.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/genl/genl.c b/genl/genl.c index b497a3ad..27b679df 100644 --- a/genl/genl.c +++ b/genl/genl.c @@ -7,6 +7,8 @@ #include <stdio.h> #include <stdlib.h> +#include <stdbool.h> +#include <stddef.h> #include <unistd.h> #include <fcntl.h> #include <dlfcn.h> @@ -90,16 +92,16 @@ noexist: return f; } -static void usage(void) __attribute__((noreturn)); +static void usage(bool help) __attribute__((noreturn)); -static void usage(void) +static void usage(bool help) { - fprintf(stderr, + fprintf(help ? stdout : stderr, "Usage: genl [ OPTIONS ] OBJECT [help] }\n" "where OBJECT := { ctrl etc }\n" " OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[aw] |\n" " -j[son] | -p[retty] }\n"); - exit(-1); + exit(help ? EXIT_SUCCESS : EXIT_FAILURE); } int main(int argc, char **argv) @@ -122,7 +124,7 @@ int main(int argc, char **argv) } else if (matches(argv[1], "-pretty") == 0) { ++pretty; } else if (matches(argv[1], "-help") == 0) { - usage(); + usage(true); } else { fprintf(stderr, "Option \"%s\" is unknown, try \"genl -help\".\n", @@ -146,5 +148,5 @@ int main(int argc, char **argv) return ret; } - usage(); + usage(true); } -- 2.53.0