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@xxxxxxxxxx +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list