On Thu, Nov 16, 2017 at 02:49:27PM +0100, Michal Privoznik wrote:
There are couple of limitations when it comes to option types and
flags for the options. For instance, VSH_OT_STRING cannot have
VSH_OFLAG_REQ set (commit c7543a728). For some reason this is
checked in vshCmddefHelp() but not in vshCmddefCheckInternals().
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
[...]
- if (opt->type == VSH_OT_ARGV && cmd->opts[i +
1].name)
- return -1; /* argv option must be listed last */
+ break;
+ case VSH_OT_ARGV:
+ if (cmd->opts[i + 1].name)
+ return -1; /* argv option must be listed last */
+ break;
+
+ case VSH_OT_DATA:
+ if (!(opt->flags & VSH_OFLAG_REQ))
+ return -1; /* OT_DATA should always be required. */
This got me thinking a bit, since we're going to do the checking here, is there
a need for performing the same check within vshCmddefHelp too? My reasoning is
that virsh-self-test is part of the test suite run at make check. Not a deal
breaker though, just thinking out loud.
+ break;
+
+ case VSH_OT_INT:
+ /* nada */
please don't...
+ break;
+ }
Reviewed-by: Erik Skultety <eskultet(a)redhat.com>