On 22.05.2015 10:59, Andrea Bolognani wrote:
This will allow us to use vshError() to report errors from inside
vshCommandOpt*(), instead of replicating the same logic and error
messages all over the place.
We also have more context inside the vshCommandOpt*() functions,
for example the actual value used on the command line, which means
we can produce more detailed error messages.
---
tools/virsh-domain-monitor.c | 90 +++----
tools/virsh-domain.c | 598 +++++++++++++++++++++----------------------
tools/virsh-host.c | 46 ++--
tools/virsh-interface.c | 14 +-
tools/virsh-network.c | 34 +--
tools/virsh-nodedev.c | 6 +-
tools/virsh-pool.c | 26 +-
tools/virsh-secret.c | 8 +-
tools/virsh-snapshot.c | 88 +++----
tools/virsh-volume.c | 34 +--
tools/virsh.c | 107 ++++----
tools/virsh.h | 77 +++---
12 files changed, 574 insertions(+), 554 deletions(-)
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index a42c150..db7ef8b 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -317,9 +317,9 @@ cmdDomMemStat(vshControl *ctl, const vshCmd *cmd)
bool ret = false;
int rv = 0;
int period = -1;
- bool config = vshCommandOptBool(cmd, "config");
- bool live = vshCommandOptBool(cmd, "live");
- bool current = vshCommandOptBool(cmd, "current");
+ bool config = vshCommandOptBool(ctl, cmd, "config");
I don't think this is needed. vshCommandOptBool should never return an
error. Well, it's returning just if a flag was specified or not.
+ bool live = vshCommandOptBool(ctl, cmd, "live");
+ bool current = vshCommandOptBool(ctl, cmd, "current");
unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
VSH_EXCLUSIVE_OPTIONS_VAR(current, live);
@@ -340,7 +340,7 @@ cmdDomMemStat(vshControl *ctl, const vshCmd *cmd)
/* Providing a period will adjust the balloon driver collection period.
* This is not really an unsigned long, but it
*/
- if ((rv = vshCommandOptInt(cmd, "period", &period)) < 0) {
+ if ((rv = vshCommandOptInt(ctl, cmd, "period", &period)) < 0) {
This is of course different, specified value may not be a number in
which case we want an error to be reported.
vshError(ctl,
_("Numeric value for <%s> option is malformed or out of
range"),
"period");
ACK modulo the OptBool() change.
Michal