[PATCH 05/13] virsh: Implement vshTable API to snapshot-list.

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

 



Signed-off-by: Simon Kobyda <skobyda@xxxxxxxxxx>
---
 tools/virsh-snapshot.c | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c
index a4ea959230..5a02d2c786 100644
--- a/tools/virsh-snapshot.c
+++ b/tools/virsh-snapshot.c
@@ -41,6 +41,7 @@
 #include "virstring.h"
 #include "virxml.h"
 #include "conf/snapshot_conf.h"
+#include "vsh-table.h"
 
 /* Helper for snapshot-create and snapshot-create-as */
 static bool
@@ -1487,6 +1488,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
     char *parent_snap = NULL;
     virDomainSnapshotPtr start = NULL;
     virshSnapshotListPtr snaplist = NULL;
+    vshTablePtr table = NULL;
 
     VSH_EXCLUSIVE_OPTIONS_VAR(tree, name);
     VSH_EXCLUSIVE_OPTIONS_VAR(parent, roots);
@@ -1547,15 +1549,12 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
 
     if (!tree && !name) {
         if (parent)
-            vshPrintExtra(ctl, " %-20s %-25s %-15s %s",
-                          _("Name"), _("Creation Time"), _("State"),
-                          _("Parent"));
+            table = vshTableNew("Name", "Creation Time", "State", "Parent", NULL);
         else
-            vshPrintExtra(ctl, " %-20s %-25s %s",
-                          _("Name"), _("Creation Time"), _("State"));
-        vshPrintExtra(ctl, "\n"
-                           "------------------------------"
-                           "------------------------------\n");
+            table = vshTableNew("Name", "Creation Time", "State", NULL);
+
+        if (!table)
+            goto cleanup;
     }
 
     if (tree) {
@@ -1614,13 +1613,20 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
         strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S %z",
                  &time_info);
 
-        if (parent)
-            vshPrint(ctl, " %-20s %-25s %-15s %s\n",
-                     snap_name, timestr, state, parent_snap);
-        else
-            vshPrint(ctl, " %-20s %-25s %s\n", snap_name, timestr, state);
+        if (parent) {
+            if (vshTableRowAppend(table, snap_name, timestr, state, parent_snap,
+                                  NULL) < 0)
+                continue;
+        } else {
+            if (vshTableRowAppend(table, snap_name, timestr, state,
+                                  NULL) < 0)
+                continue;
+        }
     }
 
+    if (!tree && !name)
+        vshTablePrintToStdout(table, ctl);
+
     ret = true;
 
  cleanup:
@@ -1633,6 +1639,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
     xmlFreeDoc(xml);
     VIR_FREE(doc);
     virshDomainFree(dom);
+    vshTableFree(table);
 
     return ret;
 }
-- 
2.17.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[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