]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
optutils.h: don't print non-graph characters
authorJ William Piggott <elseifthen@gmx.com>
Wed, 19 Apr 2017 00:57:27 +0000 (20:57 -0400)
committerJ William Piggott <elseifthen@gmx.com>
Wed, 19 Apr 2017 02:39:05 +0000 (22:39 -0400)
There is no eloquent way to exclude/include arch dependent arguments
from the ul_excl_t array. So when an arch dependent argument is left
undefined err_exclusive_options() was printing out-of-bounds values.
This commit cause them to be skipped instead.

err_exclusive_options() shouldn't be printing out-of-bounds values
in any case.

Also change the error massage from 'options' to 'arguments' as some
programs, like hwclock, distinguish between options and functions.

Signed-off-by: J William Piggott <elseifthen@gmx.com>
include/optutils.h

index 325cb881272c2a2dfbccd780500caabbc9aa8596..0dc127bbc1346ebb005dd171308a0c8c1e779086 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "c.h"
 #include "nls.h"
+#include "cctype.h"
 
 static inline const char *option_to_longopt(int c, const struct option *opts)
 {
@@ -81,8 +82,8 @@ static inline void err_exclusive_options(
                        else if (status[e] != c) {
                                size_t ct = 0;
 
-                               fprintf(stderr, _("%s: these options are "
-                                                 "mutually exclusive:"),
+                               fprintf(stderr, _("%s: mutually exclusive "
+                                                 "arguments:"),
                                                program_invocation_short_name);
 
                                for (op = excl[e];
@@ -91,7 +92,7 @@ static inline void err_exclusive_options(
                                        const char *n = option_to_longopt(*op, opts);
                                        if (n)
                                                fprintf(stderr, " --%s", n);
-                                       else
+                                       else if (c_isgraph(*op))
                                                fprintf(stderr, " -%c", *op);
                                }
                                fputc('\n', stderr);