losetup: use stdout and return 0 for --help
Reported-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
219da9223d
commit
108591d2b7
|
@ -884,8 +884,8 @@ find_unused_loop_device (void) {
|
|||
#include "strtosize.h"
|
||||
|
||||
static void
|
||||
usage(void) {
|
||||
fprintf(stderr, _("\nUsage:\n"
|
||||
usage(FILE *f) {
|
||||
fprintf(f, _("\nUsage:\n"
|
||||
" %1$s loop_device give info\n"
|
||||
" %1$s -a | --all list all used\n"
|
||||
" %1$s -d | --detach <loopdev> [<loopdev> ...] delete\n"
|
||||
|
@ -895,7 +895,7 @@ usage(void) {
|
|||
" %1$s [ options ] {-f|--find|loopdev} <file> setup\n"),
|
||||
progname);
|
||||
|
||||
fprintf(stderr, _("\nOptions:\n"
|
||||
fprintf(f, _("\nOptions:\n"
|
||||
" -e | --encryption <type> enable data encryption with specified <name/num>\n"
|
||||
" -h | --help this help\n"
|
||||
" -o | --offset <num> start at offset <num> into file\n"
|
||||
|
@ -904,7 +904,8 @@ usage(void) {
|
|||
" -r | --read-only setup read-only loop device\n"
|
||||
" --show print device name (with -f <file>)\n"
|
||||
" -v | --verbose verbose mode\n\n"));
|
||||
exit(1);
|
||||
|
||||
exit(f == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -966,6 +967,9 @@ main(int argc, char **argv) {
|
|||
case 'f':
|
||||
find = 1;
|
||||
break;
|
||||
case 'h':
|
||||
usage(stdout);
|
||||
break;
|
||||
case 'j':
|
||||
assoc = optarg;
|
||||
break;
|
||||
|
@ -987,42 +991,42 @@ main(int argc, char **argv) {
|
|||
break;
|
||||
|
||||
default:
|
||||
usage();
|
||||
usage(stderr);
|
||||
}
|
||||
}
|
||||
|
||||
if (argc == 1) {
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else if (delete) {
|
||||
if (argc < optind+1 || encryption || offset || sizelimit ||
|
||||
capacity || find || all || showdev || assoc || ro)
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else if (find) {
|
||||
if (capacity || all || assoc || argc < optind || argc > optind+1)
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else if (all) {
|
||||
if (argc > 2)
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else if (assoc) {
|
||||
if (capacity || encryption || showdev || passfd || ro)
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else if (capacity) {
|
||||
if (argc != optind + 1 || encryption || offset || sizelimit ||
|
||||
showdev || ro)
|
||||
usage();
|
||||
usage(stderr);
|
||||
} else {
|
||||
if (argc < optind+1 || argc > optind+2)
|
||||
usage();
|
||||
usage(stderr);
|
||||
}
|
||||
|
||||
if (offset && strtosize(offset, &off)) {
|
||||
error(_("%s: invalid offset '%s' specified"), progname, offset);
|
||||
usage();
|
||||
usage(stderr);
|
||||
}
|
||||
if (sizelimit && strtosize(sizelimit, &slimit)) {
|
||||
error(_("%s: invalid sizelimit '%s' specified"),
|
||||
progname, sizelimit);
|
||||
usage();
|
||||
usage(stderr);
|
||||
}
|
||||
|
||||
if (all)
|
||||
|
@ -1057,7 +1061,7 @@ main(int argc, char **argv) {
|
|||
res = show_loop(device);
|
||||
else {
|
||||
if (passfd && sscanf(passfd, "%d", &pfd) != 1)
|
||||
usage();
|
||||
usage(stderr);
|
||||
do {
|
||||
res = set_loop(device, file, off, slimit, encryption, pfd, &ro);
|
||||
if (res == 2 && find) {
|
||||
|
|
Loading…
Reference in New Issue