mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
util: usb: use VIR_AUTOPTR for aggregate types
By making use of GNU C's cleanup attribute handled by the VIR_AUTOPTR macro for declaring aggregate pointer variables, majority of the calls to *Free functions can be dropped, which in turn leads to getting rid of most of our cleanup sections. Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com> Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
8d3f2d8508
commit
da5d031bd6
@ -123,8 +123,9 @@ virUSBDeviceSearch(unsigned int vendor,
|
|||||||
bool found = false;
|
bool found = false;
|
||||||
char *ignore = NULL;
|
char *ignore = NULL;
|
||||||
struct dirent *de;
|
struct dirent *de;
|
||||||
virUSBDeviceListPtr list = NULL, ret = NULL;
|
virUSBDeviceListPtr list = NULL;
|
||||||
virUSBDevicePtr usb;
|
virUSBDeviceListPtr ret = NULL;
|
||||||
|
VIR_AUTOPTR(virUSBDevice) usb = NULL;
|
||||||
int direrr;
|
int direrr;
|
||||||
|
|
||||||
if (!(list = virUSBDeviceListNew()))
|
if (!(list = virUSBDeviceListNew()))
|
||||||
@ -173,13 +174,12 @@ virUSBDeviceSearch(unsigned int vendor,
|
|||||||
}
|
}
|
||||||
|
|
||||||
usb = virUSBDeviceNew(found_bus, found_devno, vroot);
|
usb = virUSBDeviceNew(found_bus, found_devno, vroot);
|
||||||
|
|
||||||
if (!usb)
|
if (!usb)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virUSBDeviceListAdd(list, &usb) < 0) {
|
if (virUSBDeviceListAdd(list, &usb) < 0)
|
||||||
virUSBDeviceFree(usb);
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
if (found)
|
if (found)
|
||||||
break;
|
break;
|
||||||
@ -508,8 +508,7 @@ void
|
|||||||
virUSBDeviceListDel(virUSBDeviceListPtr list,
|
virUSBDeviceListDel(virUSBDeviceListPtr list,
|
||||||
virUSBDevicePtr dev)
|
virUSBDevicePtr dev)
|
||||||
{
|
{
|
||||||
virUSBDevicePtr ret = virUSBDeviceListSteal(list, dev);
|
VIR_AUTOPTR(virUSBDevice) ret = virUSBDeviceListSteal(list, dev);
|
||||||
virUSBDeviceFree(ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virUSBDevicePtr
|
virUSBDevicePtr
|
||||||
|
Loading…
Reference in New Issue
Block a user