mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-20 03:25:18 +00:00
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. (cherry picked from commit 46e5d36b8998c53fbea9c589f618ae906103fec7)
This commit is contained in:
parent
180fb3b2b4
commit
763f71e51f
@ -19896,7 +19896,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'},
|
||||
@ -19923,7 +19922,8 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
|
||||
}
|
||||
break;
|
||||
case 'h':
|
||||
help = true;
|
||||
vshUsage();
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'q':
|
||||
ctl->quiet = true;
|
||||
@ -19968,17 +19968,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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user