This is logically enforced by existing checks, thus we can formalize it.
Signed-off-by: Peter Krempa <pkrempa(a)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