From 46e5d36b8998c53fbea9c589f618ae906103fec7 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 30 Apr 2012 14:19:11 -0600 Subject: [PATCH] virsh: make -h always give help https://bugzilla.redhat.com/show_bug.cgi?id=817244 mentions that unlike most other tools, where --help or --version prevent all further parsing of all later options, virsh was strange in that --version stopped parsing but --help tried to plow on to the end. There was no rationale for this original implementation (since 2005!), so I think we can safely conform to common usage patterns. * tools/virsh.c (main): Drop useless 'help' variable. --- tools/virsh.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index e1776846c2..7159744895 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -20179,7 +20179,6 @@ vshAllowedEscapeChar(char c) static bool vshParseArgv(vshControl *ctl, int argc, char **argv) { - bool help = false; int arg, len; struct option opt[] = { {"debug", required_argument, NULL, 'd'}, @@ -20206,7 +20205,8 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) } break; case 'h': - help = true; + vshUsage(); + exit(EXIT_SUCCESS); break; case 'q': ctl->quiet = true; @@ -20251,17 +20251,6 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) } } - if (help) { - if (optind < argc) { - vshError(ctl, _("extra argument '%s'. See --help."), argv[optind]); - exit(EXIT_FAILURE); - } - - /* list all command */ - vshUsage(); - exit(EXIT_SUCCESS); - } - if (argc > optind) { /* parse command */ ctl->imode = false;