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 <elseifthen@gmx.com>
This commit is contained in:
J William Piggott 2017-04-18 20:57:27 -04:00
parent d8949acaa7
commit 9bf13750cb
1 changed files with 4 additions and 3 deletions

View 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);