virUSBDeviceSetUsedBy(usb, drv_name, dom_name);
- if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, usb) < 0) {
+ if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, &usb) < 0) {
virUSBDeviceFree(usb);
goto cleanup;
}
* from the virUSBDeviceList that passed in on success,
* perform rollback on failure.
*/
- if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, usb) < 0)
+ if (virUSBDeviceListAdd(mgr->activeUSBHostdevs, &usb) < 0)
goto error;
}
if (virHostdevFindUSBDevice(hostdev, required, &usb) < 0)
goto cleanup;
- if (usb && virUSBDeviceListAdd(list, usb) < 0) {
+ if (usb && virUSBDeviceListAdd(list, &usb) < 0) {
virUSBDeviceFree(usb);
goto cleanup;
}
if (!usb)
goto cleanup;
- if (virUSBDeviceListAdd(list, usb) < 0) {
+ if (virUSBDeviceListAdd(list, &usb) < 0) {
virUSBDeviceFree(usb);
goto cleanup;
}
int
virUSBDeviceListAdd(virUSBDeviceListPtr list,
- virUSBDevicePtr dev)
+ virUSBDevicePtr *dev)
{
- if (virUSBDeviceListFind(list, dev)) {
+ if (virUSBDeviceListFind(list, *dev)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Device %s is already in use"),
- dev->name);
+ (*dev)->name);
return -1;
}
- return VIR_APPEND_ELEMENT(list->devs, list->count, dev);
+ return VIR_APPEND_ELEMENT(list->devs, list->count, *dev);
}
virUSBDevicePtr
virUSBDeviceListPtr virUSBDeviceListNew(void);
int virUSBDeviceListAdd(virUSBDeviceListPtr list,
- virUSBDevicePtr dev);
+ virUSBDevicePtr *dev);
virUSBDevicePtr virUSBDeviceListGet(virUSBDeviceListPtr list,
int idx);
size_t virUSBDeviceListCount(virUSBDeviceListPtr list);
dev = virUSBDeviceListGet(devlist, 0);
dev = virUSBDeviceListSteal(devlist, dev);
- if (virUSBDeviceListAdd(list, dev) < 0)
+ if (virUSBDeviceListAdd(list, &dev) < 0)
goto cleanup;
dev = NULL;
}
dev = virUSBDeviceListGet(devlist, 0);
dev = virUSBDeviceListSteal(devlist, dev);
- if (virUSBDeviceListAdd(list, dev) < 0)
+ if (virUSBDeviceListAdd(list, &dev) < 0)
goto cleanup;
dev = NULL;
}