mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
util: alloc: Reimplement VIR_APPEND_ELEMENT using virAppendElement
Use virAppendElement instead of virInsertElementsN to implement VIR_APPEND_ELEMENT which allows us to remove error handling as the only relevant errors were removed when switching to aborting memory allocation functions. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
8c22b28dbe
commit
98f6f2081d
@ -328,10 +328,7 @@ bhyveParseBhyveLPCArg(virDomainDef *def,
|
||||
break;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->serials, def->nserials, chr) < 0) {
|
||||
virDomainChrDefFree(chr);
|
||||
goto error;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->serials, def->nserials, chr);
|
||||
}
|
||||
|
||||
VIR_FREE(type);
|
||||
@ -459,8 +456,7 @@ bhyveParsePCIDisk(virDomainDef *def,
|
||||
|
||||
disk->dst[2] = 'a' + idx;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -536,8 +532,7 @@ bhyveParsePCINet(virDomainDef *def,
|
||||
if (!mac)
|
||||
virDomainNetGenerateMAC(xmlopt, &net->mac);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
return 0;
|
||||
|
||||
error:
|
||||
@ -642,11 +637,8 @@ bhyveParsePCIFbuf(virDomainDef *def,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, video) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->videos, def->nvideos, video);
|
||||
VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -2124,10 +2124,7 @@ virCapabilitiesInitResctrlMemory(virCaps *caps)
|
||||
node->id = bank->id;
|
||||
node->cpus = virBitmapNewCopy(bank->cpus);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(caps->host.memBW.nodes,
|
||||
caps->host.memBW.nnodes, node) < 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(caps->host.memBW.nodes, caps->host.memBW.nnodes, node);
|
||||
}
|
||||
virCapsHostMemBWNodeFree(node);
|
||||
node = NULL;
|
||||
@ -2250,11 +2247,7 @@ virCapabilitiesInitCaches(virCaps *caps)
|
||||
&bank->controls) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(caps->host.cache.banks,
|
||||
caps->host.cache.nbanks,
|
||||
bank) < 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(caps->host.cache.banks, caps->host.cache.nbanks, bank);
|
||||
}
|
||||
|
||||
virCapsHostCacheBankFree(bank);
|
||||
|
@ -4820,10 +4820,7 @@ virDomainDefAddConsoleCompat(virDomainDef *def)
|
||||
|
||||
/* create the serial port definition from the console definition */
|
||||
if (def->nserials == 0) {
|
||||
if (VIR_APPEND_ELEMENT(def->serials,
|
||||
def->nserials,
|
||||
def->consoles[0]) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->serials, def->nserials, def->consoles[0]);
|
||||
|
||||
/* modify it to be a serial port */
|
||||
def->serials[0]->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL;
|
||||
@ -7475,9 +7472,10 @@ virDomainNetIPInfoParseXML(const char *source,
|
||||
goto cleanup;
|
||||
|
||||
for (i = 0; i < nnodes; i++) {
|
||||
if (!(ip = virDomainNetIPParseXML(nodes[i])) ||
|
||||
VIR_APPEND_ELEMENT(def->ips, def->nips, ip) < 0)
|
||||
if (!(ip = virDomainNetIPParseXML(nodes[i])))
|
||||
goto cleanup;
|
||||
|
||||
VIR_APPEND_ELEMENT(def->ips, def->nips, ip);
|
||||
}
|
||||
VIR_FREE(nodes);
|
||||
|
||||
@ -7485,9 +7483,10 @@ virDomainNetIPInfoParseXML(const char *source,
|
||||
goto cleanup;
|
||||
|
||||
for (i = 0; i < nnodes; i++) {
|
||||
if (!(route = virNetDevIPRouteParseXML(source, nodes[i], ctxt)) ||
|
||||
VIR_APPEND_ELEMENT(def->routes, def->nroutes, route) < 0)
|
||||
if (!(route = virNetDevIPRouteParseXML(source, nodes[i], ctxt)))
|
||||
goto cleanup;
|
||||
|
||||
VIR_APPEND_ELEMENT(def->routes, def->nroutes, route);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -10120,8 +10119,7 @@ virDomainNetAppendIPAddress(virDomainNetDef *def,
|
||||
goto error;
|
||||
ipDef->prefix = prefix;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->guestIP.ips, def->guestIP.nips, ipDef) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->guestIP.ips, def->guestIP.nips, ipDef);
|
||||
|
||||
return 0;
|
||||
|
||||
@ -12464,8 +12462,7 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDef *def,
|
||||
/* If no <listen/> element was found add a new one created by parsing
|
||||
* <graphics/> element. */
|
||||
if (def->nListens == 0) {
|
||||
if (VIR_APPEND_ELEMENT(def->listens, def->nListens, newListen) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->listens, def->nListens, newListen);
|
||||
} else {
|
||||
virDomainGraphicsListenDef *glisten = &def->listens[0];
|
||||
|
||||
@ -15216,7 +15213,9 @@ virDomainChrTargetTypeToString(int deviceType,
|
||||
int
|
||||
virDomainHostdevInsert(virDomainDef *def, virDomainHostdevDef *hostdev)
|
||||
{
|
||||
return VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev);
|
||||
VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
virDomainHostdevDef *
|
||||
@ -15631,13 +15630,7 @@ int virDomainNetInsert(virDomainDef *def, virDomainNetDef *net)
|
||||
virDomainHostdevInsert(def, &net->data.hostdev.def) < 0)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0) {
|
||||
/* virDomainHostdevInsert just appends new hostdevs, so we are sure
|
||||
* that the hostdev we've added a few lines above is at the end of
|
||||
* array. Although, devices are indexed from zero ... */
|
||||
virDomainHostdevRemove(def, def->nhostdevs - 1);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -15835,8 +15828,7 @@ virDomainNetUpdate(virDomainDef *def,
|
||||
}
|
||||
} else if (newhostdev) {
|
||||
/* add newhostdev to end of def->hostdevs */
|
||||
if (VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, newhostdev) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, newhostdev);
|
||||
}
|
||||
|
||||
def->nets[netidx] = newnet;
|
||||
@ -15952,8 +15944,7 @@ virDomainNetARPInterfaces(virDomainDef *def,
|
||||
|
||||
iface->addrs->addr = g_strdup(entry.ipaddr);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(ifaces_ret, ifaces_count, iface) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(ifaces_ret, ifaces_count, iface);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -16649,7 +16640,9 @@ int
|
||||
virDomainShmemDefInsert(virDomainDef *def,
|
||||
virDomainShmemDef *shmem)
|
||||
{
|
||||
return VIR_APPEND_ELEMENT(def->shmems, def->nshmems, shmem);
|
||||
VIR_APPEND_ELEMENT(def->shmems, def->nshmems, shmem);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -17237,10 +17230,7 @@ virDomainDefMaybeAddInput(virDomainDef *def,
|
||||
input->type = type;
|
||||
input->bus = bus;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input) < 0) {
|
||||
VIR_FREE(input);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -18581,10 +18571,7 @@ virDomainResctrlMonDefParse(virDomainDef *def,
|
||||
if (virResctrlMonitorSetID(domresmon->instance, id) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(resctrl->monitors,
|
||||
resctrl->nmonitors,
|
||||
domresmon) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(resctrl->monitors, resctrl->nmonitors, domresmon);
|
||||
|
||||
VIR_FREE(id);
|
||||
VIR_FREE(tmp);
|
||||
@ -18697,8 +18684,7 @@ virDomainCachetuneDefParse(virDomainDef *def,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->resctrls, def->nresctrls, resctrl) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->resctrls, def->nresctrls, resctrl);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
@ -19063,8 +19049,7 @@ virDomainMemorytuneDefParse(virDomainDef *def,
|
||||
* only append the new @newresctrl object to domain if any of them is
|
||||
* not zero. */
|
||||
if (newresctrl && (nmons || n)) {
|
||||
if (VIR_APPEND_ELEMENT(def->resctrls, def->nresctrls, newresctrl) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->resctrls, def->nresctrls, newresctrl);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -22728,8 +22713,7 @@ virDomainDefAddImplicitVideo(virDomainDef *def, virDomainXMLOption *xmlopt)
|
||||
if (!(video = virDomainVideoDefNew(xmlopt)))
|
||||
return -1;
|
||||
video->type = VIR_DOMAIN_VIDEO_TYPE_DEFAULT;
|
||||
if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, video) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->videos, def->nvideos, video);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -28694,7 +28678,9 @@ virDiskNameToBusDeviceIndex(virDomainDiskDef *disk,
|
||||
int
|
||||
virDomainFSInsert(virDomainDef *def, virDomainFSDef *fs)
|
||||
{
|
||||
return VIR_APPEND_ELEMENT(def->fss, def->nfss, fs);
|
||||
VIR_APPEND_ELEMENT(def->fss, def->nfss, fs);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
virDomainFSDef *
|
||||
|
@ -643,8 +643,7 @@ virNetworkDHCPDefParseXML(const char *networkName,
|
||||
|
||||
if (virNetworkDHCPRangeDefParseXML(networkName, def, cur, &range) < 0)
|
||||
goto cleanup;
|
||||
if (VIR_APPEND_ELEMENT(def->ranges, def->nranges, range) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->ranges, def->nranges, range);
|
||||
|
||||
} else if (cur->type == XML_ELEMENT_NODE &&
|
||||
virXMLNodeNameEqual(cur, "host")) {
|
||||
@ -652,8 +651,7 @@ virNetworkDHCPDefParseXML(const char *networkName,
|
||||
if (virNetworkDHCPHostDefParseXML(networkName, def, cur,
|
||||
&host, false) < 0)
|
||||
goto cleanup;
|
||||
if (VIR_APPEND_ELEMENT(def->hosts, def->nhosts, host) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->hosts, def->nhosts, host);
|
||||
} else if (VIR_SOCKET_ADDR_IS_FAMILY(&def->address, AF_INET) &&
|
||||
cur->type == XML_ELEMENT_NODE &&
|
||||
virXMLNodeNameEqual(cur, "bootp")) {
|
||||
@ -726,8 +724,7 @@ virNetworkDNSHostDefParseXML(const char *networkName,
|
||||
networkName);
|
||||
goto error;
|
||||
}
|
||||
if (VIR_APPEND_ELEMENT(def->names, def->nnames, name) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->names, def->nnames, name);
|
||||
}
|
||||
}
|
||||
cur = cur->next;
|
||||
|
@ -849,9 +849,7 @@ virNodeDevCapMdevTypesParseXML(xmlXPathContextPtr ctxt,
|
||||
|
||||
type->name = virXPathString("string(./name)", ctxt);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*mdev_types,
|
||||
*nmdev_types, type) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*mdev_types, *nmdev_types, type);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -1574,10 +1572,9 @@ virNodeDevCapPCIDevIommuGroupParseXML(xmlXPathContextPtr ctxt,
|
||||
|
||||
if (virPCIDeviceAddressParseXML(addrNodes[i], pciAddr) < 0)
|
||||
return -1;
|
||||
if (VIR_APPEND_ELEMENT(pci_dev->iommuGroupDevices,
|
||||
pci_dev->nIommuGroupDevices,
|
||||
pciAddr) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(pci_dev->iommuGroupDevices,
|
||||
pci_dev->nIommuGroupDevices,
|
||||
pciAddr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1684,10 +1681,9 @@ virNodeDevPCICapSRIOVVirtualParseXML(xmlXPathContextPtr ctxt,
|
||||
if (virPCIDeviceAddressParseXML(addresses[i], addr) < 0)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(pci_dev->virtual_functions,
|
||||
pci_dev->num_virtual_functions,
|
||||
addr) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(pci_dev->virtual_functions,
|
||||
pci_dev->num_virtual_functions,
|
||||
addr);
|
||||
}
|
||||
|
||||
pci_dev->flags |= VIR_NODE_DEV_CAP_FLAG_PCI_VIRTUAL_FUNCTION;
|
||||
@ -1896,9 +1892,9 @@ virNodeDevCapMdevAttributeParseXML(xmlXPathContextPtr ctxt,
|
||||
return -1;
|
||||
}
|
||||
|
||||
return VIR_APPEND_ELEMENT(mdev->attributes,
|
||||
mdev->nattributes,
|
||||
attr);
|
||||
VIR_APPEND_ELEMENT(mdev->attributes, mdev->nattributes, attr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
|
@ -440,8 +440,7 @@ virObjectEventCallbackListAddID(virConnectPtr conn,
|
||||
cb->filter_opaque = filter_opaque;
|
||||
cb->legacy = legacy;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(cbList->callbacks, cbList->count, cb) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(cbList->callbacks, cbList->count, cb);
|
||||
|
||||
/* When additional filtering is being done, every client callback
|
||||
* is matched to exactly one server callback. */
|
||||
@ -454,7 +453,6 @@ virObjectEventCallbackListAddID(virConnectPtr conn,
|
||||
ret++;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
virObjectEventCallbackFree(cb);
|
||||
return ret;
|
||||
}
|
||||
@ -642,8 +640,8 @@ virObjectEventQueuePush(virObjectEventQueue *evtQueue,
|
||||
if (!evtQueue)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(evtQueue->events, evtQueue->count, event) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(evtQueue->events, evtQueue->count, event);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -609,11 +609,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(source->devices, source->ndevice, dev) < 0) {
|
||||
virStoragePoolSourceDeviceClear(&dev);
|
||||
return -1;
|
||||
}
|
||||
|
||||
VIR_APPEND_ELEMENT(source->devices, source->ndevice, dev);
|
||||
}
|
||||
|
||||
sourcedir = virXPathString("string(./dir/@path)", ctxt);
|
||||
|
@ -1027,11 +1027,7 @@ virDomainObjListConvert(virDomainObjList *domlist,
|
||||
|
||||
virObjectRef(vm);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*vms, *nvms, vm) < 0) {
|
||||
virObjectRWUnlock(domlist);
|
||||
virObjectUnref(vm);
|
||||
goto error;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(*vms, *nvms, vm);
|
||||
}
|
||||
virObjectRWUnlock(domlist);
|
||||
|
||||
|
@ -282,8 +282,7 @@ virCPUarmVendorParse(xmlXPathContextPtr ctxt,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -368,8 +367,7 @@ virCPUarmModelParse(xmlXPathContextPtr ctxt,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->models, map->nmodels, model) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->models, map->nmodels, model);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -285,8 +285,7 @@ ppc64VendorParse(xmlXPathContextPtr ctxt G_GNUC_UNUSED,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -361,8 +360,7 @@ ppc64ModelParse(xmlXPathContextPtr ctxt,
|
||||
model->data.pvr[i].mask = pvr;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->models, map->nmodels, model) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->models, map->nmodels, model);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -937,8 +937,7 @@ x86VendorParse(xmlXPathContextPtr ctxt,
|
||||
if (virCPUx86VendorToData(string, &vendor->data) < 0)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1145,8 +1144,7 @@ x86FeatureParse(xmlXPathContextPtr ctxt,
|
||||
if (!feature->migratable)
|
||||
VIR_APPEND_ELEMENT_COPY(map->migrate_blockers, map->nblockers, feature);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->features, map->nfeatures, feature) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->features, map->nfeatures, feature);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1679,8 +1677,7 @@ x86ModelParse(xmlXPathContextPtr ctxt,
|
||||
if (x86ModelParseFeatures(model, ctxt, map) < 0)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(map->models, map->nmodels, model) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(map->models, map->nmodels, model);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -5166,8 +5166,7 @@ esxDomainInterfaceAddresses(virDomainPtr domain,
|
||||
else if (ret == 0)
|
||||
continue;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(iface->addrs, addrs_count, ip_addr) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(iface->addrs, addrs_count, ip_addr);
|
||||
}
|
||||
} else {
|
||||
esxVI_String *str;
|
||||
@ -5182,9 +5181,7 @@ esxDomainInterfaceAddresses(virDomainPtr domain,
|
||||
else if (ret == 0)
|
||||
continue;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(iface->addrs, addrs_count, ip_addr) < 0)
|
||||
goto cleanup;
|
||||
|
||||
VIR_APPEND_ELEMENT(iface->addrs, addrs_count, ip_addr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -900,8 +900,7 @@ esxConnectListAllNetworks(virConnectPtr conn,
|
||||
virNetworkPtr net = virtualswitchToNetwork(conn, hostVirtualSwitch);
|
||||
if (!net)
|
||||
goto cleanup;
|
||||
if (VIR_APPEND_ELEMENT(*nets, count, net) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*nets, count, net);
|
||||
} else {
|
||||
++count;
|
||||
}
|
||||
|
@ -1203,8 +1203,7 @@ hypervDomainDefAppendController(virDomainDef *def,
|
||||
|
||||
controller->idx = idx;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->controllers, def->ncontrollers, controller) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->controllers, def->ncontrollers, controller);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1270,8 +1269,7 @@ hypervDomainDefAppendDisk(virDomainDef *def,
|
||||
disk->info.addr.drive.target = 0;
|
||||
disk->info.addr.drive.unit = addr;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1283,8 +1281,7 @@ hypervDomainDefParseFloppyStorageExtent(virDomainDef *def, virDomainDiskDef *dis
|
||||
disk->bus = VIR_DOMAIN_DISK_BUS_FDC;
|
||||
disk->dst = g_strdup("fda");
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1456,8 +1453,7 @@ hypervDomainDefParsePhysicalDisk(hypervPrivate *priv,
|
||||
|
||||
disk->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
|
||||
result = 0;
|
||||
|
||||
@ -1579,10 +1575,7 @@ hypervDomainDefParseSerial(virDomainDef *def, Msvm_ResourceAllocationSettingData
|
||||
|
||||
serial->source->data.file.path = g_strdup(srcPath);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->serials, def->nserials, serial) < 0) {
|
||||
virDomainChrDefFree(serial);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->serials, def->nserials, serial);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1661,10 +1654,7 @@ hypervDomainDefParseEthernetAdapter(virDomainDef *def,
|
||||
/* get bridge name */
|
||||
ndef->data.bridge.brname = g_strdup(vSwitch->data->Name);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, ndef) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Could not append definition to domain"));
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, ndef);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -134,8 +134,7 @@ hypervConnectListAllNetworks(virConnectPtr conn,
|
||||
virNetworkPtr net = hypervMsvmVirtualSwitchToNetwork(conn, entry);
|
||||
if (!net)
|
||||
goto cleanup;
|
||||
if (VIR_APPEND_ELEMENT(*nets, count, net) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*nets, count, net);
|
||||
} else {
|
||||
++count;
|
||||
}
|
||||
|
@ -495,10 +495,7 @@ xenParsePCIList(virConf *conf, virDomainDef *def)
|
||||
if (!(hostdev = xenParsePCI(entry)))
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev) < 0) {
|
||||
virDomainHostdevDefFree(hostdev);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -983,8 +980,7 @@ xenParseCharDev(virConf *conf, virDomainDef *def, const char *nativeFormat)
|
||||
goto cleanup;
|
||||
chr->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL;
|
||||
chr->target.port = portnum;
|
||||
if (VIR_APPEND_ELEMENT(def->serials, def->nserials, chr) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->serials, def->nserials, chr);
|
||||
}
|
||||
} else {
|
||||
g_autofree char *serial = NULL;
|
||||
@ -1265,7 +1261,6 @@ xenParseVifList(virConf *conf, virDomainDef *def, const char *vif_typename)
|
||||
|
||||
for (list = list->list; list; list = list->next) {
|
||||
virDomainNetDef *net = NULL;
|
||||
int rc;
|
||||
|
||||
if ((list->type != VIR_CONF_STRING) || (list->str == NULL))
|
||||
continue;
|
||||
@ -1273,11 +1268,7 @@ xenParseVifList(virConf *conf, virDomainDef *def, const char *vif_typename)
|
||||
if (!(net = xenParseVif(list->str, vif_typename)))
|
||||
return -1;
|
||||
|
||||
rc = VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
if (rc < 0) {
|
||||
virDomainNetDefFree(net);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1339,7 +1330,7 @@ xenParseSxprSound(virDomainDef *def,
|
||||
snddef = g_new0(virDomainSoundDef, 1);
|
||||
snddef->model = model;
|
||||
|
||||
ignore_value(VIR_APPEND_ELEMENT(def->sounds, def->nsounds, snddef));
|
||||
VIR_APPEND_ELEMENT(def->sounds, def->nsounds, snddef);
|
||||
|
||||
if (!next)
|
||||
break;
|
||||
|
@ -796,8 +796,7 @@ xenParseXLDisk(virConf *conf, virDomainDef *def)
|
||||
else
|
||||
disk->bus = VIR_DOMAIN_DISK_BUS_IDE;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
goto fail;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
|
||||
libxl_device_disk_dispose(libxldisk);
|
||||
|
||||
@ -855,10 +854,7 @@ xenParseXLInputDevs(virConf *conf, virDomainDef *def)
|
||||
input->type = VIR_DOMAIN_INPUT_TYPE_TABLET;
|
||||
else if (STREQ(str, "keyboard"))
|
||||
input->type = VIR_DOMAIN_INPUT_TYPE_KBD;
|
||||
if (VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input) < 0) {
|
||||
virDomainInputDefFree(input);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input);
|
||||
}
|
||||
val = val->next;
|
||||
}
|
||||
@ -928,10 +924,7 @@ xenParseXLUSBController(virConf *conf, virDomainDef *def)
|
||||
controller->model = usbctrl_type;
|
||||
controller->opts.usbopts.ports = usbctrl_ports;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->controllers, def->ncontrollers, controller) < 0) {
|
||||
virDomainControllerDefFree(controller);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->controllers, def->ncontrollers, controller);
|
||||
|
||||
skipusbctrl:
|
||||
list = list->next;
|
||||
@ -995,10 +988,7 @@ xenParseXLUSB(virConf *conf, virDomainDef *def)
|
||||
hostdev->source.subsys.u.usb.bus = busNum;
|
||||
hostdev->source.subsys.u.usb.device = devNum;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev) < 0) {
|
||||
virDomainHostdevDefFree(hostdev);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->hostdevs, def->nhostdevs, hostdev);
|
||||
|
||||
skipusb:
|
||||
list = list->next;
|
||||
@ -1073,8 +1063,7 @@ xenParseXLChannel(virConf *conf, virDomainDef *def)
|
||||
channel->targetType = VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_XEN;
|
||||
channel->target.name = g_steal_pointer(&name);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->channels, def->nchannels, channel) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->channels, def->nchannels, channel);
|
||||
|
||||
skipchannel:
|
||||
list = list->next;
|
||||
|
@ -255,16 +255,11 @@ xenParseXMDiskList(virConf *conf, virDomainDef *def)
|
||||
continue;
|
||||
|
||||
/* Maintain list in sorted order according to target device name */
|
||||
rc = VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
virDomainDiskDefFree(disk);
|
||||
|
||||
if (rc < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
g_strfreev(disks);
|
||||
return ret;
|
||||
}
|
||||
@ -402,10 +397,7 @@ xenParseXMInputDevs(virConf *conf, virDomainDef *def)
|
||||
input->type = VIR_DOMAIN_INPUT_TYPE_TABLET;
|
||||
else if (STREQ(str, "keyboard"))
|
||||
input->type = VIR_DOMAIN_INPUT_TYPE_KBD;
|
||||
if (VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input) < 0) {
|
||||
virDomainInputDefFree(input);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->inputs, def->ninputs, input);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -794,10 +794,7 @@ static int lxcContainerSetReadOnly(void)
|
||||
|
||||
tmp = g_strdup(mntent.mnt_dir);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(mounts, nmounts, tmp) < 0) {
|
||||
g_free(tmp);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(mounts, nmounts, tmp);
|
||||
}
|
||||
|
||||
if (!mounts) {
|
||||
|
@ -597,8 +597,7 @@ static int virLXCControllerAppendNBDPids(virLXCController *ctrl,
|
||||
return -1;
|
||||
|
||||
for (i = 0; i < npids; i++) {
|
||||
if (VIR_APPEND_ELEMENT(ctrl->nbdpids, ctrl->nnbdpids, pids[i]) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(ctrl->nbdpids, ctrl->nnbdpids, pids[i]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -448,8 +448,7 @@ lxcAddNetworkRouteDefinition(const char *address,
|
||||
0, false)))
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*routes, *nroutes, route) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(*routes, *nroutes, route);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -569,8 +568,7 @@ lxcNetworkParseDataIPs(const char *name,
|
||||
|
||||
g_strfreev(ipparts);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(parseData->ips, parseData->nips, ip) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(parseData->ips, parseData->nips, ip);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -4227,9 +4227,7 @@ networkGetDHCPLeases(virNetworkPtr net,
|
||||
lease->clientid = g_strdup(virJSONValueObjectGetString(lease_tmp, "client-id"));
|
||||
lease->hostname = g_strdup(virJSONValueObjectGetString(lease_tmp, "hostname"));
|
||||
|
||||
if (VIR_APPEND_ELEMENT(leases_ret, nleases, lease) < 0)
|
||||
goto cleanup;
|
||||
|
||||
VIR_APPEND_ELEMENT(leases_ret, nleases, lease);
|
||||
} else {
|
||||
nleases++;
|
||||
}
|
||||
|
@ -1191,8 +1191,7 @@ nodeDeviceParseMdevctlJSON(const char *jsonstring,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(outdevs, noutdevs, child) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(outdevs, noutdevs, child);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3315,8 +3315,7 @@ ebtablesGetSubChainInsts(GHashTable *chains,
|
||||
inst->protoidx = idx;
|
||||
inst->filtername = filter_names[i].key;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*insts, *ninsts, inst) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(*insts, *ninsts, inst);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -266,10 +266,7 @@ virNWFilterRuleDefToRuleInst(virNWFilterDef *def,
|
||||
if (virNWFilterHashTablePutAll(vars, ruleinst->vars) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(inst->rules,
|
||||
inst->nrules,
|
||||
ruleinst) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(inst->rules, inst->nrules, ruleinst);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
@ -316,10 +313,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverState *driver,
|
||||
break;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(inst->filters,
|
||||
inst->nfilters,
|
||||
obj) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(inst->filters, inst->nfilters, obj);
|
||||
obj = NULL;
|
||||
|
||||
if (virNWFilterDefToInst(driver,
|
||||
|
@ -355,8 +355,7 @@ openvzReadFSConf(virDomainDef *def,
|
||||
}
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->fss, def->nfss, fs) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->fss, def->nfss, fs);
|
||||
|
||||
VIR_FREE(temp);
|
||||
|
||||
|
@ -1962,8 +1962,7 @@ qemuBlockStorageSourceChainDetachPrepareBlockdev(virStorageSource *src)
|
||||
if (!(backend = qemuBlockStorageSourceDetachPrepare(n, NULL)))
|
||||
return NULL;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend);
|
||||
}
|
||||
|
||||
return g_steal_pointer(&data);
|
||||
@ -1990,8 +1989,7 @@ qemuBlockStorageSourceChainDetachPrepareDrive(virStorageSource *src,
|
||||
if (!(backend = qemuBlockStorageSourceDetachPrepare(src, driveAlias)))
|
||||
return NULL;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend);
|
||||
|
||||
return g_steal_pointer(&data);
|
||||
}
|
||||
@ -2016,8 +2014,7 @@ qemuBlockStorageSourceChainDetachPrepareChardev(char *chardevAlias)
|
||||
backend->chardevAlias = chardevAlias;
|
||||
backend->chardevAdded = true;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, backend);
|
||||
|
||||
return g_steal_pointer(&data);
|
||||
}
|
||||
|
@ -8591,9 +8591,10 @@ qemuBuildInterfaceCommandLine(virQEMUDriver *driver,
|
||||
*/
|
||||
if (driver->privileged && nicindexes && nnicindexes &&
|
||||
net->ifname) {
|
||||
if (virNetDevGetIndex(net->ifname, &nicindex) < 0 ||
|
||||
VIR_APPEND_ELEMENT(*nicindexes, *nnicindexes, nicindex) < 0)
|
||||
if (virNetDevGetIndex(net->ifname, &nicindex) < 0)
|
||||
goto cleanup;
|
||||
|
||||
VIR_APPEND_ELEMENT(*nicindexes, *nnicindexes, nicindex);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -11005,8 +11006,7 @@ qemuBuildStorageSourceChainAttachPrepareDrive(virDomainDiskDef *disk,
|
||||
if (qemuBuildStorageSourceAttachPrepareCommon(disk->src, elem, qemuCaps) < 0)
|
||||
return NULL;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem);
|
||||
|
||||
return g_steal_pointer(&data);
|
||||
}
|
||||
@ -11030,8 +11030,7 @@ qemuBuildStorageSourceChainAttachPrepareChardev(virDomainDiskDef *disk)
|
||||
if (!(elem = qemuBuildStorageSourceAttachPrepareChardev(disk)))
|
||||
return NULL;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem);
|
||||
|
||||
return g_steal_pointer(&data);
|
||||
}
|
||||
@ -11051,8 +11050,7 @@ qemuBuildStorageSourceChainAttachPrepareBlockdevOne(qemuBlockStorageSourceChainD
|
||||
if (qemuBuildStorageSourceAttachPrepareCommon(src, elem, qemuCaps) < 0)
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(data->srcdata, data->nsrcdata, elem);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -2969,12 +2969,10 @@ qemuDomainUSBAddressAddHubs(virDomainDef *def)
|
||||
hub = g_new0(virDomainHubDef, 1);
|
||||
hub->type = VIR_DOMAIN_HUB_TYPE_USB;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->hubs, def->nhubs, hub) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->hubs, def->nhubs, hub);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
VIR_FREE(hub);
|
||||
return ret;
|
||||
}
|
||||
|
@ -7245,8 +7245,7 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
|
||||
|
||||
case VIR_DOMAIN_DEVICE_SOUND:
|
||||
sound = dev->data.sound;
|
||||
if (VIR_APPEND_ELEMENT(vmdef->sounds, vmdef->nsounds, sound) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(vmdef->sounds, vmdef->nsounds, sound);
|
||||
dev->data.sound = NULL;
|
||||
break;
|
||||
|
||||
@ -7319,8 +7318,7 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(vmdef->rngs, vmdef->nrngs, dev->data.rng) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(vmdef->rngs, vmdef->nrngs, dev->data.rng);
|
||||
dev->data.rng = NULL;
|
||||
|
||||
break;
|
||||
@ -7342,8 +7340,7 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
|
||||
case VIR_DOMAIN_DEVICE_REDIRDEV:
|
||||
redirdev = dev->data.redirdev;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(vmdef->redirdevs, vmdef->nredirdevs, redirdev) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(vmdef->redirdevs, vmdef->nredirdevs, redirdev);
|
||||
dev->data.redirdev = NULL;
|
||||
break;
|
||||
|
||||
@ -7369,8 +7366,7 @@ qemuDomainAttachDeviceConfig(virDomainDef *vmdef,
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_INPUT:
|
||||
if (VIR_APPEND_ELEMENT(vmdef->inputs, vmdef->ninputs, dev->data.input) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(vmdef->inputs, vmdef->ninputs, dev->data.input);
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_VSOCK:
|
||||
@ -17665,8 +17661,7 @@ qemuDomainGetResctrlMonData(virQEMUDriver *driver,
|
||||
&res->stats, &res->nstats) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*resdata, *nresdata, res) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(*resdata, *nresdata, res);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1484,8 +1484,7 @@ qemuFirmwareGetSupported(const char *machine,
|
||||
|
||||
tmp->name = g_strdup(fwpath);
|
||||
tmp->nvram = g_strdup(nvrampath);
|
||||
if (VIR_APPEND_ELEMENT(*fws, *nfws, tmp) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(*fws, *nfws, tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9253,8 +9253,7 @@ qemuMonitorJSONGetJobInfo(qemuMonitor *mon,
|
||||
if (!(job = qemuMonitorJSONGetJobInfoOne(virJSONValueArrayGet(data, i))))
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*jobs, *njobs, job) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(*jobs, *njobs, job);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1226,9 +1226,8 @@ qemuNamespacePrepareOneItem(qemuNamespaceMknodData *data,
|
||||
g_free(next);
|
||||
next = g_strdup(item.target);
|
||||
|
||||
if (addToData &&
|
||||
VIR_APPEND_ELEMENT(data->items, data->nitems, item) < 0)
|
||||
return -1;
|
||||
if (addToData)
|
||||
VIR_APPEND_ELEMENT(data->items, data->nitems, item);
|
||||
|
||||
if (!isLink)
|
||||
break;
|
||||
|
@ -6001,8 +6001,7 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriver *driver,
|
||||
vcpupriv->vcpus != 0) {
|
||||
vcpupriv->alias = g_strdup_printf("vcpu%zu", i);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(bootHotplug, nbootHotplug, vcpu) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(bootHotplug, nbootHotplug, vcpu);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4120,10 +4120,9 @@ remoteDispatchConnectDomainEventRegister(virNetServer *server G_GNUC_UNUSED,
|
||||
callback->callbackID = -1;
|
||||
callback->legacy = true;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectDomainEventRegisterAny(conn,
|
||||
NULL,
|
||||
@ -4348,10 +4347,9 @@ remoteDispatchConnectDomainEventRegisterAny(virNetServer *server G_GNUC_UNUSED,
|
||||
callback->callbackID = -1;
|
||||
callback->legacy = true;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectDomainEventRegisterAny(conn,
|
||||
NULL,
|
||||
@ -4422,10 +4420,9 @@ remoteDispatchConnectDomainEventCallbackRegisterAny(virNetServer *server G_GNUC_
|
||||
callback->eventID = args->eventID;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->domainEventCallbacks,
|
||||
priv->ndomainEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectDomainEventRegisterAny(conn,
|
||||
dom,
|
||||
@ -5898,10 +5895,9 @@ remoteDispatchConnectNetworkEventRegisterAny(virNetServer *server G_GNUC_UNUSED,
|
||||
callback->eventID = args->eventID;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->networkEventCallbacks,
|
||||
priv->nnetworkEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->networkEventCallbacks,
|
||||
priv->nnetworkEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectNetworkEventRegisterAny(conn,
|
||||
net,
|
||||
@ -6018,10 +6014,9 @@ remoteDispatchConnectStoragePoolEventRegisterAny(virNetServer *server G_GNUC_UNU
|
||||
callback->eventID = args->eventID;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->storageEventCallbacks,
|
||||
priv->nstorageEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->storageEventCallbacks,
|
||||
priv->nstorageEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectStoragePoolEventRegisterAny(conn,
|
||||
pool,
|
||||
@ -6137,10 +6132,9 @@ remoteDispatchConnectNodeDeviceEventRegisterAny(virNetServer *server G_GNUC_UNUS
|
||||
callback->eventID = args->eventID;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->nodeDeviceEventCallbacks,
|
||||
priv->nnodeDeviceEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->nodeDeviceEventCallbacks,
|
||||
priv->nnodeDeviceEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectNodeDeviceEventRegisterAny(conn,
|
||||
dev,
|
||||
@ -6256,10 +6250,9 @@ remoteDispatchConnectSecretEventRegisterAny(virNetServer *server G_GNUC_UNUSED,
|
||||
callback->eventID = args->eventID;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->secretEventCallbacks,
|
||||
priv->nsecretEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->secretEventCallbacks,
|
||||
priv->nsecretEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectSecretEventRegisterAny(conn,
|
||||
secret,
|
||||
@ -6370,10 +6363,9 @@ qemuDispatchConnectDomainMonitorEventRegister(virNetServer *server G_GNUC_UNUSED
|
||||
callback->eventID = -1;
|
||||
callback->callbackID = -1;
|
||||
ref = callback;
|
||||
if (VIR_APPEND_ELEMENT(priv->qemuEventCallbacks,
|
||||
priv->nqemuEventCallbacks,
|
||||
callback) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(priv->qemuEventCallbacks,
|
||||
priv->nqemuEventCallbacks,
|
||||
callback);
|
||||
|
||||
if ((callbackID = virConnectDomainQemuMonitorEventRegister(conn,
|
||||
dom,
|
||||
|
@ -237,7 +237,9 @@ collectServers(void *payload,
|
||||
if (!srv)
|
||||
return -1;
|
||||
|
||||
return VIR_APPEND_ELEMENT(*data->servers, data->nservers, srv);
|
||||
VIR_APPEND_ELEMENT(*data->servers, data->nservers, srv);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -593,8 +593,7 @@ int virNetMessageAddFD(virNetMessage *msg,
|
||||
newfd);
|
||||
goto error;
|
||||
}
|
||||
if (VIR_APPEND_ELEMENT(msg->fds, msg->nfds, newfd) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(msg->fds, msg->nfds, newfd);
|
||||
return 0;
|
||||
error:
|
||||
VIR_FORCE_CLOSE(newfd);
|
||||
|
@ -1086,16 +1086,12 @@ virNetServerGetClients(virNetServer *srv,
|
||||
|
||||
for (i = 0; i < srv->nclients; i++) {
|
||||
virNetServerClient *client = virObjectRef(srv->clients[i]);
|
||||
if (VIR_APPEND_ELEMENT(list, nclients, client) < 0) {
|
||||
virObjectUnref(client);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(list, nclients, client);
|
||||
}
|
||||
|
||||
*clts = g_steal_pointer(&list);
|
||||
ret = nclients;
|
||||
|
||||
cleanup:
|
||||
virObjectListFreeCount(list, nclients);
|
||||
virObjectUnlock(srv);
|
||||
return ret;
|
||||
|
@ -121,8 +121,7 @@ virSecurityDACChownListAppend(virSecurityDACChownList *list,
|
||||
item->remember = remember;
|
||||
item->restore = restore;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(list->items, list->nItems, item) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(list->items, list->nItems, item);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -684,9 +684,8 @@ virSecurityManagerGenLabel(virSecurityManager *mgr,
|
||||
} else {
|
||||
/* The seclabel must be added to @vm prior calling domainGenSecurityLabel
|
||||
* which may require seclabel to be presented already */
|
||||
if (generated &&
|
||||
VIR_APPEND_ELEMENT(vm->seclabels, vm->nseclabels, seclabel) < 0)
|
||||
goto cleanup;
|
||||
if (generated)
|
||||
VIR_APPEND_ELEMENT(vm->seclabels, vm->nseclabels, seclabel);
|
||||
|
||||
if (sec_managers[i]->drv->domainGenSecurityLabel(sec_managers[i], vm) < 0) {
|
||||
if (VIR_DELETE_ELEMENT(vm->seclabels,
|
||||
|
@ -125,11 +125,9 @@ virSecuritySELinuxContextListAppend(virSecuritySELinuxContextList *list,
|
||||
item->remember = remember;
|
||||
item->restore = restore;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(list->items, list->nItems, item) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(list->items, list->nItems, item);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
virSecuritySELinuxContextItemFree(item);
|
||||
return ret;
|
||||
}
|
||||
@ -1894,11 +1892,7 @@ virSecuritySELinuxSetImageLabelInternal(virSecurityManager *mgr,
|
||||
if (!disk_seclabel)
|
||||
return -1;
|
||||
disk_seclabel->labelskip = true;
|
||||
if (VIR_APPEND_ELEMENT(src->seclabels, src->nseclabels,
|
||||
disk_seclabel) < 0) {
|
||||
virSecurityDeviceLabelDefFree(disk_seclabel);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(src->seclabels, src->nseclabels, disk_seclabel);
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
|
@ -201,9 +201,7 @@ virStorageBackendLogicalParseVolExtents(virStorageVolDef *vol,
|
||||
extent.start = offset * size;
|
||||
extent.end = (offset * size) + length;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(vol->source.extents, vol->source.nextent,
|
||||
extent) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(vol->source.extents, vol->source.nextent, extent);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
@ -639,8 +639,7 @@ virStorageBackendRBDGetVolNames(virStorageBackendRBDState *ptr)
|
||||
|
||||
namedup = g_strdup(name);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(names, nnames, namedup) < 0)
|
||||
return NULL;
|
||||
VIR_APPEND_ELEMENT(names, nnames, namedup);
|
||||
|
||||
name += strlen(name) + 1;
|
||||
}
|
||||
|
@ -227,12 +227,10 @@ int virDeleteElementsN(void *ptrptr, size_t size, size_t at, size_t *countptr,
|
||||
* necessary memory re-allocation has already been done.
|
||||
*
|
||||
* These macros are safe to use on arguments with side effects.
|
||||
*
|
||||
* Returns -1 on failure (with OOM error reported), 0 on success
|
||||
*/
|
||||
#define VIR_APPEND_ELEMENT(ptr, count, newelem) \
|
||||
virInsertElementsN(&(ptr), sizeof(*(ptr)), -1, &(count), \
|
||||
VIR_TYPEMATCH(ptr, &(newelem)), &(newelem), true, false)
|
||||
virAppendElement(&(ptr), sizeof(*(ptr)), &(count), \
|
||||
VIR_TYPEMATCH(ptr, &(newelem)), &(newelem), true, false)
|
||||
#define VIR_APPEND_ELEMENT_COPY(ptr, count, newelem) \
|
||||
virAppendElement(&(ptr), sizeof(*(ptr)), &(count), \
|
||||
VIR_TYPEMATCH(ptr, &(newelem)), &(newelem), false, false)
|
||||
|
@ -369,8 +369,7 @@ virISCSIGetTargets(char **const groups,
|
||||
|
||||
target = g_strdup(groups[1]);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(list->targets, list->ntargets, target) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(list->targets, list->ntargets, target);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -599,8 +599,9 @@ virJSONValueObjectInsert(virJSONValue *object,
|
||||
ret = VIR_INSERT_ELEMENT(object->data.object.pairs, 0,
|
||||
object->data.object.npairs, pair);
|
||||
} else {
|
||||
ret = VIR_APPEND_ELEMENT(object->data.object.pairs,
|
||||
object->data.object.npairs, pair);
|
||||
VIR_APPEND_ELEMENT(object->data.object.pairs,
|
||||
object->data.object.npairs, pair);
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
if (ret == 0)
|
||||
|
@ -1638,10 +1638,7 @@ virLogParseOutputs(const char *src, virLogOutput ***outputs)
|
||||
* lose the old entry
|
||||
*/
|
||||
at = virLogFindOutput(list, noutputs, output->dest, output->name);
|
||||
if (VIR_APPEND_ELEMENT(list, noutputs, output) < 0) {
|
||||
virLogOutputFree(output);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(list, noutputs, output);
|
||||
if (at >= 0) {
|
||||
virLogOutputFree(list[at]);
|
||||
VIR_DELETE_ELEMENT(list, at, noutputs);
|
||||
@ -1687,10 +1684,7 @@ virLogParseFilters(const char *src, virLogFilter ***filters)
|
||||
if (!(filter = virLogParseFilter(*next)))
|
||||
return -1;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(list, nfilters, filter)) {
|
||||
virLogFilterFree(filter);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(list, nfilters, filter);
|
||||
}
|
||||
|
||||
*filters = g_steal_pointer(&list);
|
||||
|
@ -303,7 +303,9 @@ virMediatedDeviceListAdd(virMediatedDeviceList *list,
|
||||
_("device %s is already in use"), (*dev)->path);
|
||||
return -1;
|
||||
}
|
||||
return VIR_APPEND_ELEMENT(list->devs, list->count, *dev);
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, *dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -554,8 +556,7 @@ virMediatedDeviceGetMdevTypes(const char *sysfspath,
|
||||
if (virMediatedDeviceTypeReadAttrs(tmppath, &mdev_type) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(mdev_types, nmdev_types, mdev_type) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(mdev_types, nmdev_types, mdev_type);
|
||||
}
|
||||
|
||||
if (dirret < 0)
|
||||
|
@ -2799,8 +2799,7 @@ static int virNetDevGetMcastList(const char *ifname,
|
||||
/* Only return global multicast MAC addresses for
|
||||
* specified interface */
|
||||
if (entry->global && STREQ(ifname, entry->name)) {
|
||||
if (VIR_APPEND_ELEMENT(mcast->entries, mcast->nentries, entry))
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(mcast->entries, mcast->nentries, entry);
|
||||
} else {
|
||||
memset(entry, 0, sizeof(virNetDevMcastEntry));
|
||||
}
|
||||
|
@ -191,11 +191,10 @@ virNVMeDeviceListAdd(virNVMeDeviceList *list,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(tmp = virNVMeDeviceCopy(dev)) ||
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, tmp) < 0) {
|
||||
virNVMeDeviceFree(tmp);
|
||||
if (!(tmp = virNVMeDeviceCopy(dev)))
|
||||
return -1;
|
||||
}
|
||||
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1688,7 +1688,9 @@ virPCIDeviceListAdd(virPCIDeviceList *list,
|
||||
_("Device %s is already in use"), dev->name);
|
||||
return -1;
|
||||
}
|
||||
return VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -1948,9 +1950,8 @@ virPCIGetIOMMUGroupAddressesAddOne(virPCIDeviceAddress *newDevAddr, void *opaque
|
||||
|
||||
*copyAddr = *newDevAddr;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*addrList->iommuGroupDevices,
|
||||
*addrList->nIommuGroupDevices, copyAddr) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(*addrList->iommuGroupDevices,
|
||||
*addrList->nIommuGroupDevices, copyAddr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -2363,9 +2364,7 @@ virPCIGetVirtualFunctions(const char *sysfs_path,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*virtual_functions, *num_virtual_functions,
|
||||
config_addr) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(*virtual_functions, *num_virtual_functions, config_addr);
|
||||
} while (1);
|
||||
|
||||
VIR_DEBUG("Found %zu virtual functions for %s",
|
||||
|
@ -673,8 +673,7 @@ int virProcessGetPids(pid_t pid, size_t *npids, pid_t **pids)
|
||||
goto cleanup;
|
||||
tmp_pid = tmp;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*pids, *npids, tmp_pid) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*pids, *npids, tmp_pid);
|
||||
}
|
||||
|
||||
if (value < 0)
|
||||
|
@ -2634,14 +2634,12 @@ virResctrlMonitorGetStats(virResctrlMonitor *monitor,
|
||||
if (rv < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(stat->vals, stat->nvals, val) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(stat->vals, stat->nvals, val);
|
||||
|
||||
stat->features[i] = g_strdup(resources[i]);
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*stats, *nstats, stat) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*stats, *nstats, stat);
|
||||
}
|
||||
|
||||
/* Sort in id's ascending order */
|
||||
|
@ -254,8 +254,7 @@ virSCSIDeviceSetUsedBy(virSCSIDevice *dev,
|
||||
copy->drvname = g_strdup(drvname);
|
||||
copy->domname = g_strdup(domname);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(dev->used_by, dev->n_used_by, copy) < 0)
|
||||
return -1;
|
||||
VIR_APPEND_ELEMENT(dev->used_by, dev->n_used_by, copy);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -359,7 +358,9 @@ virSCSIDeviceListAdd(virSCSIDeviceList *list,
|
||||
return -1;
|
||||
}
|
||||
|
||||
return VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
virSCSIDevice *
|
||||
|
@ -183,7 +183,9 @@ virSCSIVHostDeviceListAdd(virSCSIVHostDeviceList *list,
|
||||
_("Device %s is already in use"), dev->name);
|
||||
return -1;
|
||||
}
|
||||
return VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -447,7 +447,9 @@ virUSBDeviceListAdd(virUSBDeviceList *list,
|
||||
(*dev)->name);
|
||||
return -1;
|
||||
}
|
||||
return VIR_APPEND_ELEMENT(list->devs, list->count, *dev);
|
||||
VIR_APPEND_ELEMENT(list->devs, list->count, *dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
virUSBDevice *
|
||||
|
@ -971,13 +971,8 @@ virGetGroupList(uid_t uid, gid_t gid, gid_t **list)
|
||||
if ((*list)[i] == gid)
|
||||
goto cleanup;
|
||||
}
|
||||
if (VIR_APPEND_ELEMENT(*list, i, gid) < 0) {
|
||||
ret = -1;
|
||||
VIR_FREE(*list);
|
||||
goto cleanup;
|
||||
} else {
|
||||
ret = i;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(*list, i, gid);
|
||||
ret = i;
|
||||
}
|
||||
|
||||
cleanup:
|
||||
|
@ -3535,9 +3535,8 @@ vboxDumpDisplay(virDomainDef *def, struct _vboxDriver *data, IMachine *machine)
|
||||
graphics->data.desktop.display = g_strdup(getenv("DISPLAY"));
|
||||
}
|
||||
|
||||
if (graphics &&
|
||||
VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics) < 0)
|
||||
goto cleanup;
|
||||
if (graphics)
|
||||
VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics);
|
||||
|
||||
gVBoxAPI.UIMachine.GetVRDEServer(machine, &VRDEServer);
|
||||
if (VRDEServer)
|
||||
@ -3574,8 +3573,7 @@ vboxDumpDisplay(virDomainDef *def, struct _vboxDriver *data, IMachine *machine)
|
||||
if (reuseSingleConnection)
|
||||
graphics->data.rdp.replaceUser = true;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, graphics);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -3758,10 +3756,7 @@ vboxDumpNetworks(virDomainDef *def, struct _vboxDriver *data, IMachine *machine,
|
||||
|
||||
if (enabled) {
|
||||
net = vboxDumpNetwork(data, adapter);
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0) {
|
||||
VBOX_RELEASE(adapter);
|
||||
return -1;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
}
|
||||
|
||||
VBOX_RELEASE(adapter);
|
||||
|
@ -1893,8 +1893,7 @@ virVMXParseConfig(virVMXContext *ctx,
|
||||
if (!net)
|
||||
continue;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
}
|
||||
|
||||
/* def:inputs */
|
||||
|
@ -553,8 +553,7 @@ prlsdkAddDomainVideoInfoCt(virDomainDef *def,
|
||||
video->type = VIR_DOMAIN_VIDEO_TYPE_PARALLELS;
|
||||
video->vram = 0;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->videos, def->nvideos, video) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(def->videos, def->nvideos, video);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
@ -945,10 +944,7 @@ prlsdkGetNetAddresses(PRL_HANDLE sdknet, virDomainNetDef *net)
|
||||
if (!(ip = prlsdkParseNetAddress(addr)))
|
||||
continue;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(net->guestIP.ips, net->guestIP.nips, ip) < 0) {
|
||||
VIR_FREE(ip);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(net->guestIP.ips, net->guestIP.nips, ip);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -979,8 +975,7 @@ prlsdkGetRoutes(PRL_HANDLE sdknet, virDomainNetDef *net)
|
||||
NULL, gw, 0, true, 0, false)))
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(net->guestIP.routes, net->guestIP.nroutes, route) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(net->guestIP.routes, net->guestIP.nroutes, route);
|
||||
}
|
||||
|
||||
if (*gw6 != '\0') {
|
||||
@ -989,8 +984,7 @@ prlsdkGetRoutes(PRL_HANDLE sdknet, virDomainNetDef *net)
|
||||
NULL, gw6, 0, true, 0, false)))
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(net->guestIP.routes, net->guestIP.nroutes, route) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(net->guestIP.routes, net->guestIP.nroutes, route);
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
@ -1126,8 +1120,7 @@ prlsdkAddDomainNetInfo(PRL_HANDLE sdkdom, virDomainDef *def)
|
||||
PrlHandle_Free(netAdapter);
|
||||
netAdapter = PRL_INVALID_HANDLE;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->nets, def->nnets, net) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->nets, def->nnets, net);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1242,8 +1235,7 @@ prlsdkAddSerialInfo(PRL_HANDLE sdkdom,
|
||||
PrlHandle_Free(serialPort);
|
||||
serialPort = PRL_INVALID_HANDLE;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(*serials, *nserials, chr) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(*serials, *nserials, chr);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1327,8 +1319,7 @@ prlsdkAddVNCInfo(PRL_HANDLE sdkdom, virDomainDef *def)
|
||||
|
||||
gr->listens[0].type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, gr) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, gr);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -213,10 +213,7 @@ virNWFilterRuleDefToRuleInst(virNWFilterDef *def,
|
||||
if (virNWFilterHashTablePutAll(vars, ruleinst->vars) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(inst->rules,
|
||||
inst->nrules,
|
||||
ruleinst) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(inst->rules, inst->nrules, ruleinst);
|
||||
ruleinst = NULL;
|
||||
|
||||
ret = 0;
|
||||
|
@ -465,19 +465,10 @@ qemuMonitorTestAddHandler(qemuMonitorTest *test,
|
||||
item->opaque = opaque;
|
||||
|
||||
virMutexLock(&test->lock);
|
||||
if (VIR_APPEND_ELEMENT(test->items, test->nitems, item) < 0) {
|
||||
virMutexUnlock(&test->lock);
|
||||
goto error;
|
||||
}
|
||||
VIR_APPEND_ELEMENT(test->items, test->nitems, item);
|
||||
virMutexUnlock(&test->lock);
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
if (freecb)
|
||||
(freecb)(opaque);
|
||||
VIR_FREE(item);
|
||||
return -1;
|
||||
}
|
||||
|
||||
void *
|
||||
|
@ -812,10 +812,12 @@ int virTestMain(int argc,
|
||||
if (!getenv("LIBVIRT_DEBUG") && !virLogGetNbOutputs()) {
|
||||
if (!(output = virLogOutputNew(virtTestLogOutput, virtTestLogClose,
|
||||
&testLog, VIR_LOG_DEBUG,
|
||||
VIR_LOG_TO_STDERR, NULL)) ||
|
||||
VIR_APPEND_ELEMENT(outputs, noutputs, output) < 0 ||
|
||||
virLogDefineOutputs(outputs, noutputs) < 0) {
|
||||
virLogOutputFree(output);
|
||||
VIR_LOG_TO_STDERR, NULL)))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
VIR_APPEND_ELEMENT(outputs, noutputs, output);
|
||||
|
||||
if (virLogDefineOutputs(outputs, noutputs) < 0) {
|
||||
virLogOutputListFree(outputs, noutputs);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
@ -3852,8 +3852,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
vol.source = g_steal_pointer(&source);
|
||||
vol.target = g_steal_pointer(&target);
|
||||
if (VIR_APPEND_ELEMENT(vols, nvols, vol) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(vols, nvols, vol);
|
||||
}
|
||||
|
||||
/* print volumes specified by user that were not found in domain definition */
|
||||
|
@ -102,8 +102,7 @@ vshTableRowNew(const char *arg, va_list ap)
|
||||
|
||||
tmp = g_strdup(arg);
|
||||
|
||||
if (VIR_APPEND_ELEMENT(row->cells, row->ncells, tmp) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(row->cells, row->ncells, tmp);
|
||||
|
||||
arg = va_arg(ap, const char *);
|
||||
}
|
||||
@ -140,8 +139,7 @@ vshTableNew(const char *arg, ...)
|
||||
if (!header)
|
||||
goto error;
|
||||
|
||||
if (VIR_APPEND_ELEMENT(table->rows, table->nrows, header) < 0)
|
||||
goto error;
|
||||
VIR_APPEND_ELEMENT(table->rows, table->nrows, header);
|
||||
|
||||
return table;
|
||||
error:
|
||||
@ -182,8 +180,7 @@ vshTableRowAppend(vshTable *table, const char *arg, ...)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(table->rows, table->nrows, row) < 0)
|
||||
goto cleanup;
|
||||
VIR_APPEND_ELEMENT(table->rows, table->nrows, row);
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
|
Loading…
x
Reference in New Issue
Block a user