From 6dce0b3016e385a6ba51694c1e38ca6cde22c16b Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Mon, 22 Feb 2016 13:33:20 +0100 Subject: [PATCH] cmdNetworkUpdate: Prefer VSH_EXCLUSIVE_OPTIONS over if-else tree We have macros that check and reject mutually exclusive parameters to our commands. Use those instead of if-else tree. At the same time, the variable @current becomes useless therefore it is dropped. Signed-off-by: Michal Privoznik --- tools/virsh-network.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/tools/virsh-network.c b/tools/virsh-network.c index 1ae206a127..22ea016f40 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -904,12 +904,14 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd) int command, section, parentIndex = -1; const char *xml = NULL; char *xmlFromFile = NULL; - bool current = vshCommandOptBool(cmd, "current"); bool config = vshCommandOptBool(cmd, "config"); bool live = vshCommandOptBool(cmd, "live"); - unsigned int flags = 0; + unsigned int flags = VIR_NETWORK_UPDATE_AFFECT_CURRENT; const char *affected; + VSH_EXCLUSIVE_OPTIONS("current", "live"); + VSH_EXCLUSIVE_OPTIONS("current", "config"); + if (!(network = virshCommandOptNetwork(ctl, cmd, NULL))) return false; @@ -962,18 +964,10 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd) xml = xmlFromFile; } - if (current) { - if (live || config) { - vshError(ctl, "%s", _("--current must be specified exclusively")); - goto cleanup; - } - flags |= VIR_NETWORK_UPDATE_AFFECT_CURRENT; - } else { - if (config) - flags |= VIR_NETWORK_UPDATE_AFFECT_CONFIG; - if (live) - flags |= VIR_NETWORK_UPDATE_AFFECT_LIVE; - } + if (config) + flags |= VIR_NETWORK_UPDATE_AFFECT_CONFIG; + if (live) + flags |= VIR_NETWORK_UPDATE_AFFECT_LIVE; if (virNetworkUpdate(network, command, section, parentIndex, xml, flags) < 0) { -- GitLab