From: J William Piggott Date: Wed, 19 Apr 2017 00:57:27 +0000 (-0400) Subject: optutils.h: don't print non-graph characters X-Git-Tag: v2.30-rc1~93^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bf13750cb55d747314a472c306e66b02a2abda9;p=thirdparty%2Futil-linux.git optutils.h: don't print non-graph characters 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 --- diff --git a/include/optutils.h b/include/optutils.h index 325cb88127..0dc127bbc1 100644 --- a/include/optutils.h +++ b/include/optutils.h @@ -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);