virsh: cmdEcho: Make '--xml' and '--shell' mutually exclusive

Initialize the flags earlier and use VSH_EXCLUSIVE_OPTIONS_VAR to
declare the conflicting options as exclusive.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-08-11 10:36:04 +02:00
parent c67fc3ea82
commit 86de16b317

View File

@ -3150,20 +3150,15 @@ const vshCmdInfo info_echo[] = {
bool
cmdEcho(vshControl *ctl, const vshCmd *cmd)
{
bool shell = false;
bool xml = false;
bool err = false;
bool shell = vshCommandOptBool(cmd, "shell");
bool xml = vshCommandOptBool(cmd, "xml");
bool err = vshCommandOptBool(cmd, "err");
int count = 0;
const vshCmdOpt *opt = NULL;
g_autofree char *arg = NULL;
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
if (vshCommandOptBool(cmd, "shell"))
shell = true;
if (vshCommandOptBool(cmd, "xml"))
xml = true;
if (vshCommandOptBool(cmd, "err"))
err = true;
VSH_EXCLUSIVE_OPTIONS_VAR(shell, xml);
while ((opt = vshCommandOptArgv(ctl, cmd, opt))) {
g_autofree char *str = NULL;