mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-01 17:35:17 +00: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;
|
||||
char *ignore = NULL;
|
||||
struct dirent *de;
|
||||
virUSBDeviceListPtr list = NULL, ret = NULL;
|
||||
virUSBDevicePtr usb;
|
||||
virUSBDeviceListPtr list = NULL;
|
||||
virUSBDeviceListPtr ret = NULL;
|
||||
VIR_AUTOPTR(virUSBDevice) usb = NULL;
|
||||
int direrr;
|
||||
|
||||
if (!(list = virUSBDeviceListNew()))
|
||||
@ -173,13 +174,12 @@ virUSBDeviceSearch(unsigned int vendor,
|
||||
}
|
||||
|
||||
usb = virUSBDeviceNew(found_bus, found_devno, vroot);
|
||||
|
||||
if (!usb)
|
||||
goto cleanup;
|
||||
|
||||
if (virUSBDeviceListAdd(list, &usb) < 0) {
|
||||
virUSBDeviceFree(usb);
|
||||
if (virUSBDeviceListAdd(list, &usb) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (found)
|
||||
break;
|
||||
@ -508,8 +508,7 @@ void
|
||||
virUSBDeviceListDel(virUSBDeviceListPtr list,
|
||||
virUSBDevicePtr dev)
|
||||
{
|
||||
virUSBDevicePtr ret = virUSBDeviceListSteal(list, dev);
|
||||
virUSBDeviceFree(ret);
|
||||
VIR_AUTOPTR(virUSBDevice) ret = virUSBDeviceListSteal(list, dev);
|
||||
}
|
||||
|
||||
virUSBDevicePtr
|
||||
|
Loading…
x
Reference in New Issue
Block a user