]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: cmdEcho: Make '--xml' and '--shell' mutually exclusive
authorPeter Krempa <pkrempa@redhat.com>
Wed, 11 Aug 2021 08:36:04 +0000 (10:36 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 18 Aug 2021 09:07:25 +0000 (11:07 +0200)
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>
tools/vsh.c

index e49d2a3863c194b94553874c25114252af2bdf55..fc20fb21ee416fc1cc7cb99170ca31df515407d3 100644 (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;