Instead of sticking to old code pattern use the one laid out by cmdList. Use FILTER() macro instead of series of boolean variables.
Signed-off-by: Michal Privoznik <mpriv...@redhat.com> --- tools/virsh-network.c | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/tools/virsh-network.c b/tools/virsh-network.c index 45f4840..182293e 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -647,37 +647,28 @@ static const vshCmdOptDef opts_network_list[] = { {.name = NULL} }; +#define FILTER(NAME, FLAG) \ + if (vshCommandOptBool(cmd, NAME)) \ + flags |= (FLAG) static bool cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) { vshNetworkListPtr list = NULL; size_t i; - bool inactive = vshCommandOptBool(cmd, "inactive"); - bool all = vshCommandOptBool(cmd, "all"); - bool persistent = vshCommandOptBool(cmd, "persistent"); - bool transient = vshCommandOptBool(cmd, "transient"); - bool autostart = vshCommandOptBool(cmd, "autostart"); - bool no_autostart = vshCommandOptBool(cmd, "no-autostart"); unsigned int flags = VIR_CONNECT_LIST_NETWORKS_ACTIVE; - if (inactive) + if (vshCommandOptBool(cmd, "inactive")) flags = VIR_CONNECT_LIST_NETWORKS_INACTIVE; - if (all) + if (vshCommandOptBool(cmd, "all")) flags = VIR_CONNECT_LIST_NETWORKS_ACTIVE | VIR_CONNECT_LIST_NETWORKS_INACTIVE; - if (persistent) - flags |= VIR_CONNECT_LIST_NETWORKS_PERSISTENT; + FILTER("persistent", VIR_CONNECT_LIST_NETWORKS_PERSISTENT); + FILTER("transient", VIR_CONNECT_LIST_NETWORKS_TRANSIENT); - if (transient) - flags |= VIR_CONNECT_LIST_NETWORKS_TRANSIENT; - - if (autostart) - flags |= VIR_CONNECT_LIST_NETWORKS_AUTOSTART; - - if (no_autostart) - flags |= VIR_CONNECT_LIST_NETWORKS_NO_AUTOSTART; + FILTER("autostart", VIR_CONNECT_LIST_NETWORKS_AUTOSTART); + FILTER("no-autostart", VIR_CONNECT_LIST_NETWORKS_NO_AUTOSTART); if (!(list = vshNetworkListCollect(ctl, flags))) return false; @@ -707,6 +698,7 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) vshNetworkListFree(list); return true; } +#undef FILTER /* * "net-name" command -- 2.3.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list