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>
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;
}