This is logically enforced by existing checks, thus we can formalize it.

Signed-off-by: Peter Krempa <pkre...@redhat.com>
---
 tools/vsh.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/vsh.c b/tools/vsh.c
index 7091cf093c..301fa9d747 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -329,6 +329,13 @@ vshCmddefCheckInternals(vshControl *ctl,
             }
         }

+        /* require that positional non-argv options are required */
+        if (opt->positional && !opt->required && opt->type != VSH_OT_ARGV) {
+            vshError(ctl, "positional argument '%s' of command '%s' must be 
required",
+                     opt->name, cmd->name);
+            return -1;
+        }
+
         switch (opt->type) {
         case VSH_OT_NONE:
             vshError(ctl, "invalid type 'NONE' of option '%s' of command '%s'",
-- 
2.44.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-le...@lists.libvirt.org

Reply via email to