Re: [PATCH iproute2-next 3/7] misc: put help to stdout and usage to stderr
From: David Ahern <dsahern@kernel.org>
Date: 2026-08-11 14:23:18
On 8/7/26 9:42 AM, Stephen Hemminger wrote:
quoted hunk ↗ jump to hunk
diff --git a/misc/rtacct.c b/misc/rtacct.c index cd84b7f0..0e2c03af 100644 --- a/misc/rtacct.c +++ b/misc/rtacct.c@@ -412,14 +412,13 @@ static int verify_forging(int fd) return -1; } -static void usage(void) __attribute__((noreturn)); +static void usage(bool help) __attribute__((noreturn)); -static void usage(void) +static void usage(bool help) { - fprintf(stderr, -"Usage: rtacct [ -h?vVzrnasd:t: ] [ ListOfRealms ]\n" - ); - exit(-1); + fprintf(help ? stdout : stderr, + "Usage: rtacct [ -h?vVzrnasd:t: ] [ ListOfRealms ]\n"); + exit(help ? 0 : 1); } int main(int argc, char *argv[])@@ -469,7 +468,7 @@ int main(int argc, char *argv[]) case 'h': case '?': default: - usage(); + usage(ch == 'h'); } }
rtacct.c:415:19: error: unknown type name ‘bool’
415 | static void usage(bool help) __attribute__((noreturn));
| ^~~~
rtacct.c:29:1: note: ‘bool’ is defined in header ‘<stdbool.h>’; did you
forget to ‘#include <stdbool.h>’?
28 | #include "version.h"
+++ |+#include <stdbool.h>
29 |
rtacct.c:417:19: error: unknown type name ‘bool’
417 | static void usage(bool help)
| ^~~~
rtacct.c:417:19: note: ‘bool’ is defined in header ‘<stdbool.h>’; did
you forget to ‘#include <stdbool.h>’?
rtacct.c: In function ‘main’:
rtacct.c:471:25: warning: implicit declaration of function ‘usage’
[-Wimplicit-function-declaration]
471 | usage(ch == 'h');
| ^~~~~
make[1]: *** [Makefile:25: rtacct] Error 1
make: *** [Makefile:72: all] Error 2