qemu-img: show help for invalid global options

The qemu-img sub-command executes regardless of invalid global options:

  $ qemu-img --foo info test.img
  qemu-img: unrecognized option '--foo'
  image: test.img
  ...

The unrecognized option warning may be missed by the user.  This can
hide incorrect command-lines in scripts and confuse users.

This patch prints the help information and terminates instead of
executing the sub-command.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20170317104541.28979-2-stefanha@redhat.com
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Stefan Hajnoczi 2017-03-17 18:45:39 +08:00 committed by Max Reitz
parent ea2afcf5b6
commit 4581c16fce

View File

@ -4339,6 +4339,7 @@ int main(int argc, char **argv)
while ((c = getopt_long(argc, argv, "+hVT:", long_options, NULL)) != -1) { while ((c = getopt_long(argc, argv, "+hVT:", long_options, NULL)) != -1) {
switch (c) { switch (c) {
case 'h': case 'h':
case '?':
help(); help();
return 0; return 0;
case 'V': case 'V':