diff --git a/tools/virsh-network.c b/tools/virsh-network.c index 1ae206a127e560753a714493603e47b211b6930d..22ea016f40757797eb1399dc967dfa343989eb4e 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) {