提交 b0b1ed2f 编写于 作者: S Simon Kobyda 提交者: Michal Privoznik

virsh: Implement vshTable API to snapshot-list.

Signed-off-by: NSimon Kobyda <skobyda@redhat.com>
上级 c2b9cf67
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include "virstring.h" #include "virstring.h"
#include "virxml.h" #include "virxml.h"
#include "conf/snapshot_conf.h" #include "conf/snapshot_conf.h"
#include "vsh-table.h"
/* Helper for snapshot-create and snapshot-create-as */ /* Helper for snapshot-create and snapshot-create-as */
static bool static bool
...@@ -1487,6 +1488,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) ...@@ -1487,6 +1488,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
char *parent_snap = NULL; char *parent_snap = NULL;
virDomainSnapshotPtr start = NULL; virDomainSnapshotPtr start = NULL;
virshSnapshotListPtr snaplist = NULL; virshSnapshotListPtr snaplist = NULL;
vshTablePtr table = NULL;
VSH_EXCLUSIVE_OPTIONS_VAR(tree, name); VSH_EXCLUSIVE_OPTIONS_VAR(tree, name);
VSH_EXCLUSIVE_OPTIONS_VAR(parent, roots); VSH_EXCLUSIVE_OPTIONS_VAR(parent, roots);
...@@ -1547,15 +1549,12 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) ...@@ -1547,15 +1549,12 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
if (!tree && !name) { if (!tree && !name) {
if (parent) if (parent)
vshPrintExtra(ctl, " %-20s %-25s %-15s %s", table = vshTableNew(_("Name"), _("Creation Time"), _("State"), _("Parent"), NULL);
_("Name"), _("Creation Time"), _("State"),
_("Parent"));
else else
vshPrintExtra(ctl, " %-20s %-25s %s", table = vshTableNew(_("Name"), _("Creation Time"), _("State"), NULL);
_("Name"), _("Creation Time"), _("State"));
vshPrintExtra(ctl, "\n" if (!table)
"------------------------------" goto cleanup;
"------------------------------\n");
} }
if (tree) { if (tree) {
...@@ -1614,13 +1613,20 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) ...@@ -1614,13 +1613,20 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S %z", strftime(timestr, sizeof(timestr), "%Y-%m-%d %H:%M:%S %z",
&time_info); &time_info);
if (parent) if (parent) {
vshPrint(ctl, " %-20s %-25s %-15s %s\n", if (vshTableRowAppend(table, snap_name, timestr, state, parent_snap,
snap_name, timestr, state, parent_snap); NULL) < 0)
else goto cleanup;
vshPrint(ctl, " %-20s %-25s %s\n", snap_name, timestr, state); } else {
if (vshTableRowAppend(table, snap_name, timestr, state,
NULL) < 0)
goto cleanup;
}
} }
if (table)
vshTablePrintToStdout(table, ctl);
ret = true; ret = true;
cleanup: cleanup:
...@@ -1633,6 +1639,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) ...@@ -1633,6 +1639,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd)
xmlFreeDoc(xml); xmlFreeDoc(xml);
VIR_FREE(doc); VIR_FREE(doc);
virshDomainFree(dom); virshDomainFree(dom);
vshTableFree(table);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册