summaryrefslogtreecommitdiffstats
path: root/misc-utils/eject.c
diff options
context:
space:
mode:
authorKarel Zak2012-03-27 13:44:09 +0200
committerKarel Zak2012-03-27 13:44:09 +0200
commit805424cdde9df3ab004f743b18be7176c95894fa (patch)
tree5807cede8d5e45502a374fa00266e95eaacffc9a /misc-utils/eject.c
parentlslocks: minor fix in usage() (diff)
downloadkernel-qcow2-util-linux-805424cdde9df3ab004f743b18be7176c95894fa.tar.gz
kernel-qcow2-util-linux-805424cdde9df3ab004f743b18be7176c95894fa.tar.xz
kernel-qcow2-util-linux-805424cdde9df3ab004f743b18be7176c95894fa.zip
eject: cleanup usage()
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/eject.c')
-rw-r--r--misc-utils/eject.c64
1 files changed, 32 insertions, 32 deletions
diff --git a/misc-utils/eject.c b/misc-utils/eject.c
index 91d52bdaa..ec54dc975 100644
--- a/misc-utils/eject.c
+++ b/misc-utils/eject.c
@@ -96,35 +96,36 @@ const char *partition_device[] = {
0
};
-
-/* Display command usage on standard error and exit. */
-static void usage() {
- fprintf(stderr, _(
- "Usage:\n"
- " eject [options] <name>\n"
- "Options:\n"
- " -h, --help display command usage and exit\n"
- " -V --version display program version and exit\n"
- " -d, --default display default device\n"
- " -a, --auto turn auto-eject feature on or off\n"
- " -c, --changerslot switch discs on a CD-ROM changer\n"
- " -t, --trayclose close tray\n"
- " -T, --traytoggle toggle tray\n"
- " -x, --cdspeed set CD-ROM max speed\n"
- " -v, --verbose enable verbose output\n"
- " -n, --noop don't eject, just show device found\n"
- " -r, --cdrom eject CD-ROM\n"
- " -s, --scsi eject SCSI device\n"
- " -f, --loppy eject floppy\n"
- " -q, --tape eject tape\n"
- " -p, --proc use /proc/mounts instead of /etc/mtab\n"
- " -m, --no-unmount do not unmount device even if it is mounted\n"
- "\n"
- "Parameter <name> can be a device file or a mount point.\n"
- "If omitted, name defaults to `%s'.\n"
- "By default tries -r, -s, -f, and -q in order until success.\n"),
- EJECT_DEFAULT_DEVICE);
- exit(1);
+static void __attribute__ ((__noreturn__)) usage(FILE * out)
+{
+ fputs(USAGE_HEADER, out);
+
+ fprintf(out,
+ _(" %s [options] [<device>|<mountpoint>]\n"), program_invocation_short_name);
+
+ fputs(USAGE_OPTIONS, out);
+ fputs(_(" -h, --help display command usage and exit\n"
+ " -V --version display program version and exit\n"
+ " -d, --default display default device\n"
+ " -a, --auto turn auto-eject feature on or off\n"
+ " -c, --changerslot switch discs on a CD-ROM changer\n"
+ " -t, --trayclose close tray\n"
+ " -T, --traytoggle toggle tray\n"
+ " -x, --cdspeed set CD-ROM max speed\n"
+ " -v, --verbose enable verbose output\n"
+ " -n, --noop don't eject, just show device found\n"
+ " -r, --cdrom eject CD-ROM\n"
+ " -s, --scsi eject SCSI device\n"
+ " -f, --loppy eject floppy\n"
+ " -q, --tape eject tape\n"
+ " -p, --proc use /proc/mounts instead of /etc/mtab\n"
+ " -m, --no-unmount do not unmount device even if it is mounted\n"),
+ out);
+
+ fputs(_("\nBy default tries -r, -s, -f, and -q in order until success.\n"), out);
+ fprintf(out, USAGE_MAN_TAIL("eject(1)"));
+
+ exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
}
@@ -198,8 +199,7 @@ static void parse_args(int argc, char **argv, char **device)
f_option = 1;
break;
case 'h':
- usage();
- exit(0);
+ usage(stdout);
break;
case 'm':
m_option = 1;
@@ -234,7 +234,7 @@ static void parse_args(int argc, char **argv, char **device)
break;
default:
case '?':
- usage();
+ usage(stderr);
break;
}
}