qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] block: fix qemu-img --help invocation


From: Jeff Cody
Subject: Re: [Qemu-devel] [PATCH] block: fix qemu-img --help invocation
Date: Fri, 25 Apr 2014 16:02:28 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Apr 25, 2014 at 12:39:03PM -0600, Eric Blake wrote:
> On 04/25/2014 12:27 PM, Jeff Cody wrote:
> > 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.
> > 
> > This also restores the previous behavior of qemu-img printing the full
> > help when called with no arguments.
> > 
> > Signed-off-by: Jeff Cody <address@hidden>
> > ---
> >  qemu-img.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/qemu-img.c b/qemu-img.c
> > index 4dae84a..3f878f6 100644
> > --- a/qemu-img.c
> > +++ b/qemu-img.c
> > @@ -2800,7 +2800,7 @@ int main(int argc, char **argv)
> >      qemu_init_main_loop();
> >      bdrv_init();
> >      if (argc < 2) {
> > -        error_exit("Not enough arguments");
> > +        help();
> >      }
> 
> This now gives exit status 0 where it gave status 1 prior to ac1307ab -
> is that intentional?

No, that was unintentional.  But on second though, I'll just move it
back to the way that ac1307ab had it, with the "Not enough arguments"
short help.

> 
> >      cmdname = argv[1];
> >      argc--; argv++;
> > @@ -2813,5 +2813,6 @@ int main(int argc, char **argv)
> >      }
> >  
> >      /* not found */
> > -    error_exit("Command not found: %s", cmdname);
> > +    help();
> > +    return 0; /* never reached */
> 
> Why do we need a never reached comment if help() is marked noreturn?

Honestly, I included it because it was in there previously, and my
assumption was that it was there to suppress warnings for some
compiler version.  I don't know if that is a correct assumption or
not... I didn't think it was worth it to verify that it
wouldn't produce a warning on older compilers, and since it doesn't
hurt anything I put it back (but added the comment).

> Also, this now prints FULL help even for 'qemu-img --huh' - shouldn't we
> really distinguish the two, by doing full help 0 status for "--help",
> and compressed help status 1 otherwise (aka "unrecognized option
> '--huh', try "--help" for details")?

The full help status is the same as the previous behavior, prior to
ac1307ab.  I'll fix v2 though so that it parses long opts in main(),
to actually recognize "--help".

Jeff



reply via email to

[Prev in Thread] Current Thread [Next in Thread]