mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
src/parallels: Utilize more of VIR_(APPEND|INSERT|DELETE)_ELEMENT
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
@@ -231,11 +231,9 @@ parallelsAddSerialInfo(virDomainChrDefPtr **serials, size_t *nserials,
|
||||
if (parallelsGetSerialInfo(chr, key, value))
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_REALLOC_N(*serials, *nserials + 1) < 0)
|
||||
if (VIR_APPEND_ELEMENT(*serials, *nserials, chr) < 0)
|
||||
goto cleanup;
|
||||
|
||||
(*serials)[(*nserials)++] = chr;
|
||||
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
@@ -273,11 +271,9 @@ parallelsAddVideoInfo(virDomainDefPtr def, virJSONValuePtr value)
|
||||
if (VIR_ALLOC(accel) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_REALLOC_N(def->videos, def->nvideos + 1) < 0)
|
||||
if (VIR_APPEND_ELEMENT_COPY(def->videos, def->nvideos, video) < 0)
|
||||
goto error;
|
||||
|
||||
def->videos[def->nvideos++] = video;
|
||||
|
||||
video->type = VIR_DOMAIN_VIDEO_TYPE_VGA;
|
||||
video->vram = mem << 20;
|
||||
video->heads = 1;
|
||||
@@ -386,11 +382,9 @@ parallelsAddHddInfo(virDomainDefPtr def, const char *key, virJSONValuePtr value)
|
||||
if (parallelsGetHddInfo(def, disk, key, value))
|
||||
goto error;
|
||||
|
||||
if (VIR_REALLOC_N(def->disks, def->ndisks + 1) < 0)
|
||||
if (VIR_APPEND_ELEMENT(def->disks, def->ndisks, disk) < 0)
|
||||
goto error;
|
||||
|
||||
def->disks[def->ndisks++] = disk;
|
||||
|
||||
return 0;
|
||||
|
||||
error:
|
||||
@@ -625,10 +619,9 @@ parallelsAddVNCInfo(virDomainDefPtr def, virJSONValuePtr jobj_root)
|
||||
|
||||
gr->listens[0].type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS;
|
||||
|
||||
if (VIR_REALLOC_N(def->graphics, def->ngraphics + 1) < 0)
|
||||
if (VIR_APPEND_ELEMENT(def->graphics, def->ngraphics, gr) < 0)
|
||||
goto cleanup;
|
||||
|
||||
def->graphics[def->ngraphics++] = gr;
|
||||
return 0;
|
||||
|
||||
cleanup:
|
||||
|
||||
@@ -311,11 +311,9 @@ static int parallelsAddDiskVolume(virStoragePoolObjPtr pool,
|
||||
if (VIR_STRDUP(def->key, def->target.path) < 0)
|
||||
goto error;
|
||||
|
||||
if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count + 1) < 0)
|
||||
if (VIR_APPEND_ELEMENT(pool->volumes.objs, pool->volumes.count, def) < 0)
|
||||
goto error;
|
||||
|
||||
pool->volumes.objs[pool->volumes.count++] = def;
|
||||
|
||||
return 0;
|
||||
no_memory:
|
||||
virReportOOMError();
|
||||
@@ -1229,9 +1227,6 @@ parallelsStorageVolDefineXML(virStoragePoolObjPtr pool,
|
||||
}
|
||||
}
|
||||
|
||||
if (VIR_REALLOC_N(pool->volumes.objs, pool->volumes.count + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virAsprintf(&privvol->target.path, "%s/%s",
|
||||
pool->def->target.path, privvol->name) < 0)
|
||||
goto cleanup;
|
||||
@@ -1255,7 +1250,9 @@ parallelsStorageVolDefineXML(virStoragePoolObjPtr pool,
|
||||
pool->def->allocation);
|
||||
}
|
||||
|
||||
pool->volumes.objs[pool->volumes.count++] = privvol;
|
||||
if (VIR_APPEND_ELEMENT_COPY(pool->volumes.objs,
|
||||
pool->volumes.count, privvol) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = privvol;
|
||||
privvol = NULL;
|
||||
@@ -1362,10 +1359,6 @@ parallelsStorageVolCreateXMLFrom(virStoragePoolPtr pool,
|
||||
privpool->def->available = (privpool->def->capacity -
|
||||
privpool->def->allocation);
|
||||
|
||||
if (VIR_REALLOC_N(privpool->volumes.objs,
|
||||
privpool->volumes.count + 1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virAsprintf(&privvol->target.path, "%s/%s",
|
||||
privpool->def->target.path, privvol->name) == -1)
|
||||
goto cleanup;
|
||||
@@ -1377,7 +1370,9 @@ parallelsStorageVolCreateXMLFrom(virStoragePoolPtr pool,
|
||||
privpool->def->available = (privpool->def->capacity -
|
||||
privpool->def->allocation);
|
||||
|
||||
privpool->volumes.objs[privpool->volumes.count++] = privvol;
|
||||
if (VIR_APPEND_ELEMENT_COPY(privpool->volumes.objs,
|
||||
privpool->volumes.count, privvol) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = virGetStorageVol(pool->conn, privpool->def->name,
|
||||
privvol->name, privvol->key,
|
||||
@@ -1416,18 +1411,7 @@ int parallelsStorageVolDefRemove(virStoragePoolObjPtr privpool,
|
||||
|
||||
virStorageVolDefFree(privvol);
|
||||
|
||||
if (i < (privpool->volumes.count - 1))
|
||||
memmove(privpool->volumes.objs + i,
|
||||
privpool->volumes.objs + i + 1,
|
||||
sizeof(*(privpool->volumes.objs)) *
|
||||
(privpool->volumes.count - (i + 1)));
|
||||
|
||||
if (VIR_REALLOC_N(privpool->volumes.objs,
|
||||
privpool->volumes.count - 1) < 0) {
|
||||
; /* Failure to reduce memory allocation isn't fatal */
|
||||
}
|
||||
privpool->volumes.count--;
|
||||
|
||||
VIR_DELETE_ELEMENT(privpool->volumes.objs, i, privpool->volumes.count);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user