mirror of https://github.com/xemu-project/xemu.git
block: fix qemu-img --help invocation
This fixes a bug introduced in commit ac1307ab
, that caused the
'--help' option to not be recognized as a valid command, and not
print any help.
Signed-off-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
e2da502c00
commit
7db1689c35
15
qemu-img.c
15
qemu-img.c
|
@ -2789,6 +2789,12 @@ int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
const img_cmd_t *cmd;
|
const img_cmd_t *cmd;
|
||||||
const char *cmdname;
|
const char *cmdname;
|
||||||
|
int c;
|
||||||
|
int option_index = 0;
|
||||||
|
static const struct option long_options[] = {
|
||||||
|
{"help", no_argument, 0, 'h'},
|
||||||
|
{0, 0, 0, 0}
|
||||||
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_POSIX
|
#ifdef CONFIG_POSIX
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
@ -2803,15 +2809,20 @@ int main(int argc, char **argv)
|
||||||
error_exit("Not enough arguments");
|
error_exit("Not enough arguments");
|
||||||
}
|
}
|
||||||
cmdname = argv[1];
|
cmdname = argv[1];
|
||||||
argc--; argv++;
|
|
||||||
|
|
||||||
/* find the command */
|
/* find the command */
|
||||||
for(cmd = img_cmds; cmd->name != NULL; cmd++) {
|
for(cmd = img_cmds; cmd->name != NULL; cmd++) {
|
||||||
if (!strcmp(cmdname, cmd->name)) {
|
if (!strcmp(cmdname, cmd->name)) {
|
||||||
return cmd->handler(argc, argv);
|
return cmd->handler(argc - 1, argv + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c = getopt_long(argc, argv, "h", long_options, &option_index);
|
||||||
|
|
||||||
|
if (c == 'h') {
|
||||||
|
help();
|
||||||
|
}
|
||||||
|
|
||||||
/* not found */
|
/* not found */
|
||||||
error_exit("Command not found: %s", cmdname);
|
error_exit("Command not found: %s", cmdname);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue