Message ID | 20170313051108.26811-1-stefanha@redhat.com |
---|---|
State | New |
Headers | show |
On 03/13/2017 12:11 AM, Stefan Hajnoczi wrote: > 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> > --- > qemu-img.c | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Eric Blake <eblake@redhat.com> > > diff --git a/qemu-img.c b/qemu-img.c > index 98b836b..ce293a4 100644 > --- a/qemu-img.c > +++ b/qemu-img.c > @@ -4339,6 +4339,7 @@ int main(int argc, char **argv) > while ((c = getopt_long(argc, argv, "+hVT:", long_options, NULL)) != -1) { > switch (c) { > case 'h': > + case '?': > help(); > return 0; > case 'V': >
On 13.03.2017 06:11, Stefan Hajnoczi wrote: > 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> > --- > qemu-img.c | 1 + > 1 file changed, 1 insertion(+) Well, now you get blown away by a wall of text and spotting what went wrong is actually not quite simple. Maybe we should follow the way of the coreutils, that is: qemu-img: unrecognized option '--foo' Try 'qemu-img --help' for more information. ? Max
On Thu, Mar 16, 2017 at 03:07:29AM +0100, Max Reitz wrote: > On 13.03.2017 06:11, Stefan Hajnoczi wrote: > > 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> > > --- > > qemu-img.c | 1 + > > 1 file changed, 1 insertion(+) > > Well, now you get blown away by a wall of text and spotting what went > wrong is actually not quite simple. Maybe we should follow the way of > the coreutils, that is: > > qemu-img: unrecognized option '--foo' > Try 'qemu-img --help' for more information. > > ? Sure, I'll add another patch to improve that. Stefan
diff --git a/qemu-img.c b/qemu-img.c index 98b836b..ce293a4 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -4339,6 +4339,7 @@ int main(int argc, char **argv) while ((c = getopt_long(argc, argv, "+hVT:", long_options, NULL)) != -1) { switch (c) { case 'h': + case '?': help(); return 0; case 'V':
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> --- qemu-img.c | 1 + 1 file changed, 1 insertion(+)