On 06/12/2012 07:18 AM, Peter Krempa wrote:
On 06/09/12 06:34, Eric Blake wrote:
> Operating on a list of snapshot objects looks so much simpler.
> In particular, since the helper function already trimmed out
> irrelevant entries, we no longer have quite so many special cases
> on finding the first snapshot to operate on.
>
> * tools/virsh.c (cmdSnapshotList): Use previous patches.
> ---
> tools/virsh.c | 207
> +++++++++------------------------------------------------
> 1 file changed, 31 insertions(+), 176 deletions(-)
>
ACK.
As mentioned in 2/6, I'll squash this in for my v2, now that the
callback struct is only used by one client instead of generic to
vshTreePrint:
diff --git i/tools/virsh.c w/tools/virsh.c
index 84db8d3..c7877b3 100644
--- i/tools/virsh.c
+++ w/tools/virsh.c
@@ -13473,15 +13473,15 @@ vshTreePrint(vshControl *ctl, vshTreeLookup
lookup, void *opaque,
return ret;
}
-struct vshTreeArray {
+struct vshNodeList {
char **names;
char **parents;
};
static const char *
-vshTreeArrayLookup(int devid, bool parent, void *opaque)
+vshNodeListLookup(int devid, bool parent, void *opaque)
{
- struct vshTreeArray *arrays = opaque;
+ struct vshNodeList *arrays = opaque;
if (parent)
return arrays->parents[devid];
return arrays->names[devid];
@@ -13536,7 +13536,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd
*cmd ATTRIBUTE_UNUSED)
qsort(&devices[0], num_devices, sizeof(char*), namesorter);
if (tree) {
char **parents = vshMalloc(ctl, sizeof(char *) * num_devices);
- struct vshTreeArray arrays = { devices, parents };
+ struct vshNodeList arrays = { devices, parents };
for (i = 0; i < num_devices; i++) {
virNodeDevicePtr dev = virNodeDeviceLookupByName(ctl->conn,
devices[i]);
@@ -13550,7 +13550,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd
*cmd ATTRIBUTE_UNUSED)
}
for (i = 0 ; i < num_devices ; i++) {
if (parents[i] == NULL &&
- vshTreePrint(ctl, vshTreeArrayLookup, &arrays, num_devices,
+ vshTreePrint(ctl, vshNodeListLookup, &arrays, num_devices,
i) < 0)
ret = false;
}
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org