mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
vsh: Extend checks for aliased commands
If a command is an alias, then it can only have .name, .flags and .alias set and .flags should contain just VSH_CMD_FLAG_ALIAS. Check if that's the case in self-test. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
520e858a8d
commit
a1a22b0b1c
20
tools/vsh.c
20
tools/vsh.c
@ -290,6 +290,26 @@ vshCmddefCheckInternals(vshControl *ctl,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cmd->handler) {
|
||||
vshError(ctl, _("command '%s' has handler set"), cmd->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cmd->opts) {
|
||||
vshError(ctl, _("command '%s' has options set"), cmd->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cmd->info) {
|
||||
vshError(ctl, _("command '%s' has info set"), cmd->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (cmd->flags & ~VSH_CMD_FLAG_ALIAS) {
|
||||
vshError(ctl, _("command '%s' has multiple flags set"), cmd->name);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* we don't need to continue as the real command will be checked separately */
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user