On Wed, Apr 23, 2014 at 12:04:49PM +0200, Kevin Wolf wrote: > From: Fam Zheng <f...@redhat.com> > > Previously, when there is a user error in argv parsing, qemu-img prints > help text and exits. > > Add an error_exit function to print a helpful error message and a hint > to run 'qemu-img --help' for more information. > > As a bonus, "qemu-img <cmd> --help" now has a more reasonable exit code > 0. > > In the future the help text should be split by sub command, and only > print the information for the specified command. > > Signed-off-by: Fam Zheng <f...@redhat.com> > Signed-off-by: Kevin Wolf <kw...@redhat.com> > ---
This breaks 'qemu-img --help': ./qemu-img --help qemu-img: Command not found: --help Try 'qemu-img --help' for more information See below: <snip> > bs = bdrv_new_open("image", filename, fmt, > @@ -2781,8 +2799,9 @@ int main(int argc, char **argv) > > qemu_init_main_loop(); > bdrv_init(); > - if (argc < 2) > - help(); > + if (argc < 2) { > + error_exit("Not enough arguments"); > + } As an aside, are we sure we want './qemu-img' with no arguments to not return the full help message? > cmdname = argv[1]; > argc--; argv++; > > @@ -2794,6 +2813,5 @@ int main(int argc, char **argv) > } > > /* not found */ > - help(); > - return 0; > + error_exit("Command not found: %s", cmdname); Looks like we just relied previously on the default 'not found' case for help() to provide the "--help" option. > } > -- > 1.8.3.1 > >