From 1a7b6c03ab8b966e8836ac68aa05f200ea71a895 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 10 Jul 2012 23:16:55 +0200
Subject: [PATCH] Send usage message to stderr, rather than stdout, on errors.

---
 ChangeLog                  |  3 +++
 src/testsuite/mini-inetd.c | 22 ++++++++++++++--------
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6f3605c3a..f746206fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2012-07-10  Niels Möller  <nisse@lysator.liu.se>
 
+	* src/testsuite/mini-inetd.c (usage): Take a FILE * as argument.
+	Called with stdout in response to --help, and stderr otherwise.
+
 	* src/testsuite/prgrp-timeout.c: Added missing include of
 	config.h.
 
diff --git a/src/testsuite/mini-inetd.c b/src/testsuite/mini-inetd.c
index 0c9b60ada..5f10cd718 100644
--- a/src/testsuite/mini-inetd.c
+++ b/src/testsuite/mini-inetd.c
@@ -63,13 +63,19 @@ werror(const char *format, ...)
 }
 
 static void
-usage (void)
+usage (FILE *f)
 {
-  printf("mini-inetd [OPTIONS] [localaddr:]port program [argv0, argv1 ...]\n"
-	 "Options:\n"
-	 "  -m max-connections\n"
-	 "  --help\n"
-	 "  --background\n");
+  fprintf(f,
+	  /* FIXME: ':' is a bad separator for literal IPv6 addresses.
+	     Support [] around the address? */
+	  "mini-inetd [OPTIONS] [localaddr:]port program [argv0, argv1 ...]\n"
+	  "Options:\n"
+	  "  -m max-connections\n"
+	  "  --help\n"
+	  "  --background\n"
+	  "  -4     Only use IPv4.\n"
+	  "  -6     Only use IPv6.\n"
+	  "  --help Display this help.\n");
 }
 
 static void
@@ -133,7 +139,7 @@ main (int argc, char **argv)
       case '?':
 	return EXIT_FAILURE;
       case OPT_HELP:
- 	usage();
+ 	usage(stdout);
 	return EXIT_SUCCESS;
       case OPT_BACKGROUND:
 	background = 1;
@@ -164,7 +170,7 @@ main (int argc, char **argv)
   
   if (argc < 2)
     {
-      usage();
+      usage(stderr);
       return EXIT_FAILURE;
     }
   sep = strrchr(argv[0], ':');
-- 
GitLab