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:
parent
d8949acaa7
commit
9bf13750cb
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
#include "c.h"
|
#include "c.h"
|
||||||
#include "nls.h"
|
#include "nls.h"
|
||||||
|
#include "cctype.h"
|
||||||
|
|
||||||
static inline const char *option_to_longopt(int c, const struct option *opts)
|
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) {
|
else if (status[e] != c) {
|
||||||
size_t ct = 0;
|
size_t ct = 0;
|
||||||
|
|
||||||
fprintf(stderr, _("%s: these options are "
|
fprintf(stderr, _("%s: mutually exclusive "
|
||||||
"mutually exclusive:"),
|
"arguments:"),
|
||||||
program_invocation_short_name);
|
program_invocation_short_name);
|
||||||
|
|
||||||
for (op = excl[e];
|
for (op = excl[e];
|
||||||
|
@ -91,7 +92,7 @@ static inline void err_exclusive_options(
|
||||||
const char *n = option_to_longopt(*op, opts);
|
const char *n = option_to_longopt(*op, opts);
|
||||||
if (n)
|
if (n)
|
||||||
fprintf(stderr, " --%s", n);
|
fprintf(stderr, " --%s", n);
|
||||||
else
|
else if (c_isgraph(*op))
|
||||||
fprintf(stderr, " -%c", *op);
|
fprintf(stderr, " -%c", *op);
|
||||||
}
|
}
|
||||||
fputc('\n', stderr);
|
fputc('\n', stderr);
|
||||||
|
|
Loading…
Reference in New Issue