[PATCH 2/2] virsh: Simplify vshTableRowAppend() calling in cmdList(), part two

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Instead of having many if-else statements, each with its own
vshTableRowAppend() call, we can use a simple trick - have an
array of string pointers, set array members in the if bodies and
then call vshTableRowAppend() once.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 tools/virsh-domain-monitor.c | 34 +++++++++++++---------------------
 1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 80b6857fad..87efd86a69 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -1891,6 +1891,8 @@ cmdList(vshControl *ctl, const vshCmd *cmd)
         if (optTable) {
             const char *domName = virDomainGetName(dom);
             const char *stateStr = NULL;
+            g_autofree char *title = NULL;
+            const char *arg[2] = {};
 
             state = virshDomainState(ctl, dom, NULL);
 
@@ -1906,43 +1908,33 @@ cmdList(vshControl *ctl, const vshCmd *cmd)
             }
 
             if (optTitle && !optUUID) {
-                g_autofree char *title = NULL;
-
                 if (!(title = virshGetDomainDescription(ctl, dom, true, 0)))
                     goto cleanup;
-                if (vshTableRowAppend(table, id_buf,
-                                      domName, stateStr,
-                                      title, NULL) < 0)
-                    goto cleanup;
+
+                arg[0] = title;
             } else if (optUUID && !optTitle) {
                 if (virDomainGetUUIDString(dom, uuid) < 0) {
                     vshError(ctl, "%s", _("Failed to get domain's UUID"));
                     goto cleanup;
                 }
-                if (vshTableRowAppend(table, id_buf,
-                                      domName, stateStr,
-                                      uuid, NULL) < 0)
-                    goto cleanup;
+
+                arg[0] = uuid;
             } else if (optUUID && optTitle) {
-                g_autofree char *title = NULL;
-
                 if (!(title = virshGetDomainDescription(ctl, dom, true, 0)))
                     goto cleanup;
                 if (virDomainGetUUIDString(dom, uuid) < 0) {
                     vshError(ctl, "%s", _("Failed to get domain's UUID"));
                     goto cleanup;
                 }
-                if (vshTableRowAppend(table, id_buf,
-                                      domName, stateStr,
-                                      title, uuid, NULL) < 0)
-                    goto cleanup;
-            } else {
-                if (vshTableRowAppend(table, id_buf,
-                                      domName, stateStr,
-                                      NULL) < 0)
-                    goto cleanup;
+
+                arg[0] = title;
+                arg[1] = uuid;
             }
 
+            if (vshTableRowAppend(table, id_buf,
+                                  domName, stateStr,
+                                  arg[0], arg[1], NULL) < 0)
+                goto cleanup;
         } else {
             if (optUUID) {
                 if (virDomainGetUUIDString(dom, uuid) < 0) {
-- 
2.44.2




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux