misc: cleanup and fix --unknownopt issues

Fixed checkusage.sh warnings:

  rtcwake: --unknownopt, non-empty stdout

  rtcwake: --unknownopt, stderr too long: 21
  blockdev: --unknownopt, stderr too long: 28
  lsipc: --unknownopt, stderr too long: 77
  pg: --unknownopt, stderr too long: 23
  renice: --unknownopt, stderr too long: 18
  sulogin: --unknownopt, stderr too long: 17
  write: --unknownopt, stderr too long: 12

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
Ruediger Meier 2017-06-19 09:24:10 +02:00
parent 6d7bee26bc
commit 9325dbfd20
8 changed files with 67 additions and 53 deletions

View File

@ -178,9 +178,11 @@ static const struct bdc bdcms[] =
}
};
static void __attribute__ ((__noreturn__)) usage(FILE * out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE * out = stdout;
size_t i;
fprintf(out, _("\nUsage:\n"
" %1$s -V\n"
" %1$s --report [devices]\n"
@ -197,8 +199,9 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
fprintf(out, " %-25s %s\n", bdcms[i].name,
_(bdcms[i].help));
}
fputc('\n', out);
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
fprintf(out, USAGE_MAN_TAIL("blockdev(1)"));
exit(EXIT_SUCCESS);
}
static int find_cmd(char *s)
@ -225,8 +228,10 @@ int main(int argc, char **argv)
textdomain(PACKAGE);
atexit(close_stdout);
if (argc < 2)
usage(stderr);
if (argc < 2) {
warnx(_("not enough arguments"));
errtryhelp(EXIT_FAILURE);
}
/* -V not together with commands */
if (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")) {
@ -234,7 +239,7 @@ int main(int argc, char **argv)
return EXIT_SUCCESS;
}
if (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help"))
usage(stdout);
usage();
/* --report not together with other commands */
if (!strcmp(argv[1], "--report")) {
@ -267,8 +272,10 @@ int main(int argc, char **argv)
break;
}
if (d >= argc)
usage(stderr);
if (d >= argc) {
warnx(_("no device specified"));
errtryhelp(EXIT_FAILURE);
}
for (k = d; k < argc; k++) {
fd = open(argv[k], O_RDONLY, 0);
@ -315,7 +322,7 @@ static void do_commands(int fd, char **argv, int d)
j = find_cmd(argv[i]);
if (j == -1) {
warnx(_("Unknown command: %s"), argv[i]);
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
switch (bdcms[j].argtype) {
@ -332,7 +339,7 @@ static void do_commands(int fd, char **argv, int d)
if (i == d - 1) {
warnx(_("%s requires an argument"),
bdcms[j].name);
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
iarg = atoi(argv[++i]);
} else

View File

@ -795,8 +795,9 @@ static void sushell(struct passwd *pwd)
warn(_("failed to execute %s"), "/bin/sh");
}
static void usage(FILE *out)
static void usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out, _(
" %s [options] [tty device]\n"), program_invocation_short_name);
@ -872,11 +873,10 @@ int main(int argc, char **argv)
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;
case 'h':
usage(stdout);
usage();
return EXIT_SUCCESS;
default:
usage(stderr);
/* Do not exit! */
/* Do not exit! getopt prints a warning. */
break;
}
}

View File

@ -269,8 +269,9 @@ static int parse_time_mode(const char *s)
errx(EXIT_FAILURE, _("unknown time format: %s"), s);
}
static void __attribute__ ((__noreturn__)) usage(FILE * out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
size_t i;
fputs(USAGE_HEADER, out);
@ -327,7 +328,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE * out)
fprintf(out, " %14s %s\n", coldescs[i].name, _(coldescs[i].help));
fprintf(out, USAGE_MAN_TAIL("lsipc(1)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
exit(EXIT_SUCCESS);
}
static struct libscols_table *new_table(struct lsipc_control *ctl)
@ -1223,12 +1224,12 @@ int main(int argc, char *argv[])
show_creat = 1;
break;
case 'h':
usage(stdout);
usage();
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;
default:
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
}

View File

@ -54,8 +54,9 @@ static const char *idtype[] = {
[PRIO_USER] = N_("user ID"),
};
static void __attribute__((__noreturn__)) usage(FILE *out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out,
_(" %1$s [-n] <priority> [-p|--pid] <pid>...\n"
@ -75,7 +76,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
fprintf(out, USAGE_MAN_TAIL("renice(1)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
exit(EXIT_SUCCESS);
}
static int getprio(const int which, const int who, int *prio)
@ -127,7 +128,7 @@ int main(int argc, char **argv)
if (argc == 1) {
if (strcmp(*argv, "-h") == 0 ||
strcmp(*argv, "--help") == 0)
usage(stdout);
usage();
if (strcmp(*argv, "-v") == 0 ||
strcmp(*argv, "-V") == 0 ||
@ -142,13 +143,16 @@ int main(int argc, char **argv)
argv++;
}
if (argc < 2)
usage(stderr);
if (argc < 2) {
warnx(_("not enough arguments"));
errtryhelp(EXIT_FAILURE);
}
prio = strtol(*argv, &endptr, 10);
if (*endptr)
usage(stderr);
if (*endptr) {
warnx(_("invalid priorty '%s'"), *argv);
errtryhelp(EXIT_FAILURE);
}
argc--;
argv++;

View File

@ -88,8 +88,9 @@ struct rtcwake_control {
dryrun:1; /* do not set alarm, suspend system, etc */
};
static void __attribute__((__noreturn__)) usage(FILE *out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out,
_(" %s [options]\n"), program_invocation_short_name);
@ -113,13 +114,11 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fputs(_(" -u, --utc RTC uses UTC\n"), out);
fputs(_(" -v, --verbose verbose messages\n"), out);
printf(USAGE_SEPARATOR);
printf(USAGE_HELP);
printf(USAGE_VERSION);
fputs(USAGE_SEPARATOR, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
printf(USAGE_MAN_TAIL("rtcwake(8)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
exit(EXIT_SUCCESS);
}
static int is_wakeup_enabled(const char *devname)
@ -496,9 +495,9 @@ int main(int argc, char **argv)
printf(UTIL_LINUX_VERSION);
exit(EXIT_SUCCESS);
case 'h':
usage(stdout);
usage();
default:
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
}

View File

@ -308,7 +308,7 @@ static void termio_final(struct options *op,
struct termios *tp, struct chardata *cp);
static int caps_lock(char *s);
static speed_t bcode(char *s);
static void usage(FILE * out) __attribute__((__noreturn__));
static void usage(void) __attribute__((__noreturn__));
static void log_err(const char *, ...) __attribute__((__noreturn__))
__attribute__((__format__(printf, 1, 2)));
static void log_warn (const char *, ...)
@ -785,9 +785,9 @@ static void parse_args(int argc, char **argv, struct options *op)
printf(UTIL_LINUX_VERSION);
exit(EXIT_SUCCESS);
case HELP_OPTION:
usage(stdout);
usage();
default:
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
}
@ -795,7 +795,7 @@ static void parse_args(int argc, char **argv, struct options *op)
if (argc < optind + 1) {
log_warn(_("not enough arguments"));
usage(stderr);
warn(_("not enough arguments"));
}
/* Accept "tty", "baudrate tty", and "tty baudrate". */
@ -803,8 +803,8 @@ static void parse_args(int argc, char **argv, struct options *op)
/* Assume BSD style speed. */
parse_speeds(op, argv[optind++]);
if (argc < optind + 1) {
log_warn(_("not enough arguments"));
warn(_("not enough arguments"));
usage(stderr);
}
op->tty = argv[optind++];
} else {
@ -2066,8 +2066,10 @@ static speed_t bcode(char *s)
return 0;
}
static void __attribute__ ((__noreturn__)) usage(FILE *out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out, _(" %1$s [options] <line> [<baud_rate>,...] [<termtype>]\n"
" %1$s [options] <baud_rate>,... <line> [<termtype>]\n"), program_invocation_short_name);
@ -2112,7 +2114,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out)
fputs(_(" --version output version information and exit\n"), out);
fprintf(out, USAGE_MAN_TAIL("agetty(8)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
exit(EXIT_SUCCESS);
}
/*

View File

@ -79,8 +79,9 @@ struct write_control {
const char *dst_tty_name;
};
static void __attribute__((__noreturn__)) usage(FILE *out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out,
_(" %s [options] <user> [<ttyname>]\n"),
@ -92,9 +93,8 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fputs(USAGE_OPTIONS, out);
fputs(USAGE_HELP, out);
fputs(USAGE_VERSION, out);
fprintf(out, USAGE_MAN_TAIL("write(1)"));
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
exit(EXIT_SUCCESS);
}
/*
@ -317,9 +317,9 @@ int main(int argc, char **argv)
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;
case 'h':
usage(stdout);
usage();
default:
usage(stderr);
errtryhelp(EXIT_FAILURE);
}
if (get_terminal_name(&ctl.src_tty_path, &ctl.src_tty_name, NULL) == 0) {

View File

@ -223,8 +223,9 @@ static void __attribute__((__noreturn__)) quit(int status)
}
/* Usage message and similar routines. */
static void __attribute__((__noreturn__)) usage(FILE *out)
static void __attribute__((__noreturn__)) usage(void)
{
FILE *out = stdout;
fputs(USAGE_HEADER, out);
fprintf(out,
_(" %s [options] [+line] [+/pattern/] [files]\n"),
@ -250,19 +251,19 @@ static void __attribute__((__noreturn__)) usage(FILE *out)
fputs(USAGE_VERSION, out);
fprintf(out, USAGE_MAN_TAIL("pg(1)"));
quit(out == stderr ? 2 : 0);
exit(0);
}
static void __attribute__((__noreturn__)) needarg(const char *s)
{
warnx(_("option requires an argument -- %s"), s);
usage(stderr);
errtryhelp(2);
}
static void __attribute__((__noreturn__)) invopt(const char *s)
{
warnx(_("illegal option -- %s"), s);
usage(stderr);
errtryhelp(2);
}
#ifdef HAVE_WIDECHAR
@ -1567,7 +1568,7 @@ int main(int argc, char **argv)
argc--;
if (!strcmp(argv[arg], "--help")) {
usage(stdout);
usage();
}
if (!strcmp(argv[arg], "--version")) {
@ -1623,7 +1624,7 @@ int main(int argc, char **argv)
sflag = 1;
break;
case 'h':
usage(stdout);
usage();
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;