}
};
-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"
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)
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")) {
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")) {
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);
j = find_cmd(argv[i]);
if (j == -1) {
warnx(_("Unknown command: %s"), argv[i]);
- usage(stderr);
+ errtryhelp(EXIT_FAILURE);
}
switch (bdcms[j].argtype) {
if (i == d - 1) {
warnx(_("%s requires an argument"),
bdcms[j].name);
- usage(stderr);
+ errtryhelp(EXIT_FAILURE);
}
iarg = atoi(argv[++i]);
} else
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);
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;
}
}
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);
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)
show_creat = 1;
break;
case 'h':
- usage(stdout);
+ usage();
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;
default:
- usage(stderr);
+ errtryhelp(EXIT_FAILURE);
}
}
[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"
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)
if (argc == 1) {
if (strcmp(*argv, "-h") == 0 ||
strcmp(*argv, "--help") == 0)
- usage(stdout);
+ usage();
if (strcmp(*argv, "-v") == 0 ||
strcmp(*argv, "-V") == 0 ||
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++;
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);
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)
printf(UTIL_LINUX_VERSION);
exit(EXIT_SUCCESS);
case 'h':
- usage(stdout);
+ usage();
default:
- usage(stderr);
+ errtryhelp(EXIT_FAILURE);
}
}
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 *, ...)
printf(UTIL_LINUX_VERSION);
exit(EXIT_SUCCESS);
case HELP_OPTION:
- usage(stdout);
+ usage();
default:
- usage(stderr);
+ errtryhelp(EXIT_FAILURE);
}
}
if (argc < optind + 1) {
log_warn(_("not enough arguments"));
- usage(stderr);
+ warn(_("not enough arguments"));
}
/* Accept "tty", "baudrate tty", and "tty baudrate". */
/* 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 {
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);
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);
}
/*
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"),
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);
}
/*
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) {
}
/* 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"),
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
argc--;
if (!strcmp(argv[arg], "--help")) {
- usage(stdout);
+ usage();
}
if (!strcmp(argv[arg], "--version")) {
sflag = 1;
break;
case 'h':
- usage(stdout);
+ usage();
case 'V':
printf(UTIL_LINUX_VERSION);
return EXIT_SUCCESS;