From: Peter Krempa Date: Thu, 21 Mar 2013 14:35:13 +0000 (+0100) Subject: virsh-domain: Fix declarations of flag variables in cmdChangeMedia X-Git-Tag: v1.0.5-rc1~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cc0cc6b714a3aeff1a8abecb26ef8d246b5e65b3;p=thirdparty%2Flibvirt.git virsh-domain: Fix declarations of flag variables in cmdChangeMedia The parameter options can be declared directly. Also use macros for mutual exclusion on some of the incompatible parameter variables. --- diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index d6b4953384..1dfc9bc0e2 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -9837,26 +9837,21 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd) const char *doc = NULL; xmlNodePtr disk_node = NULL; const char *disk_xml = NULL; - unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool config, live, current, force = false; - bool eject, insert, update = false; bool ret = false; int prepare_type = 0; const char *action = NULL; + bool config = vshCommandOptBool(cmd, "config"); + bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(cmd, "current"); + bool force = vshCommandOptBool(cmd, "force"); + bool eject = vshCommandOptBool(cmd, "eject"); + bool insert = vshCommandOptBool(cmd, "insert"); + bool update = vshCommandOptBool(cmd, "update"); + unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - config = vshCommandOptBool(cmd, "config"); - live = vshCommandOptBool(cmd, "live"); - current = vshCommandOptBool(cmd, "current"); - force = vshCommandOptBool(cmd, "force"); - eject = vshCommandOptBool(cmd, "eject"); - insert = vshCommandOptBool(cmd, "insert"); - update = vshCommandOptBool(cmd, "update"); - - if (eject + insert + update > 1) { - vshError(ctl, "%s", _("--eject, --insert, and --update must be specified " - "exclusively.")); - return false; - } + VSH_EXCLUSIVE_OPTIONS_VAR(eject, insert); + VSH_EXCLUSIVE_OPTIONS_VAR(eject, update); + VSH_EXCLUSIVE_OPTIONS_VAR(insert, update); if (eject) { prepare_type = VSH_PREPARE_DISK_XML_EJECT;