The PyList_SET_ITEM macro, differently from PyList_SetItem, doesn't do
any error checking and overwrites anything that was previously stored
in the list at the chosen destination position.
PyList_SET_ITEM is usually faster than PyList_SetItem, and since it is
used only to fill freshly created lists, it is safe to be used here.
Signed-off-by: Giuseppe Scrivano <gscrivan(a)redhat.com>
---
python/libvirt-override.c | 197 +++++++++++++++++++++-------------------------
1 file changed, 90 insertions(+), 107 deletions(-)
diff --git a/python/libvirt-override.c b/python/libvirt-override.c
index 2e58bf9..1e1a2ee 100644
--- a/python/libvirt-override.c
+++ b/python/libvirt-override.c
@@ -1588,8 +1588,7 @@ libvirt_virDomainGetVcpus(PyObject *self ATTRIBUTE_UNUSED,
PyTuple_SetItem(info, 3, item) < 0)
goto itemError;
- if (PyList_SetItem(pycpuinfo, i, info) < 0)
- goto itemError;
+ PyList_SET_ITEM(pycpuinfo, i, info);
continue;
itemError:
@@ -1611,10 +1610,7 @@ libvirt_virDomainGetVcpus(PyObject *self ATTRIBUTE_UNUSED,
goto cleanup;
}
}
- if (PyList_SetItem(pycpumap, i, info) < 0) {
- Py_DECREF(info);
- goto cleanup;
- }
+ PyList_SET_ITEM(pycpumap, i, info);
}
if (PyTuple_SetItem(pyretval, 0, pycpuinfo) < 0 ||
PyTuple_SetItem(pyretval, 1, pycpumap) < 0)
@@ -1812,7 +1808,7 @@ libvirt_virDomainGetVcpuPinInfo(PyObject *self ATTRIBUTE_UNUSED,
PyTuple_SetItem(mapinfo, pcpu,
PyBool_FromLong(VIR_CPU_USABLE(cpumaps, cpumaplen, vcpu,
pcpu)));
}
- PyList_SetItem(pycpumaps, vcpu, mapinfo);
+ PyList_SET_ITEM(pycpumaps, vcpu, mapinfo);
}
VIR_FREE(cpumaps);
@@ -2115,21 +2111,21 @@ static int virConnectCredCallbackWrapper(virConnectCredentialPtr
cred,
pycreditem = PyList_New(5);
Py_INCREF(Py_None);
PyTuple_SetItem(pycred, i, pycreditem);
- PyList_SetItem(pycreditem, 0, PyInt_FromLong((long) cred[i].type));
- PyList_SetItem(pycreditem, 1, PyString_FromString(cred[i].prompt));
+ PyList_SET_ITEM(pycreditem, 0, PyInt_FromLong((long) cred[i].type));
+ PyList_SET_ITEM(pycreditem, 1, PyString_FromString(cred[i].prompt));
if (cred[i].challenge) {
- PyList_SetItem(pycreditem, 2, PyString_FromString(cred[i].challenge));
+ PyList_SET_ITEM(pycreditem, 2, PyString_FromString(cred[i].challenge));
} else {
Py_INCREF(Py_None);
- PyList_SetItem(pycreditem, 2, Py_None);
+ PyList_SET_ITEM(pycreditem, 2, Py_None);
}
if (cred[i].defresult) {
- PyList_SetItem(pycreditem, 3, PyString_FromString(cred[i].defresult));
+ PyList_SET_ITEM(pycreditem, 3, PyString_FromString(cred[i].defresult));
} else {
Py_INCREF(Py_None);
- PyList_SetItem(pycreditem, 3, Py_None);
+ PyList_SET_ITEM(pycreditem, 3, Py_None);
}
- PyList_SetItem(pycreditem, 4, Py_None);
+ PyList_SET_ITEM(pycreditem, 4, Py_None);
}
PyTuple_SetItem(list, 0, pycred);
@@ -2390,7 +2386,7 @@ libvirt_virConnectListDomainsID(PyObject *self ATTRIBUTE_UNUSED,
if (ids) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_intWrap(ids[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_intWrap(ids[i]));
}
VIR_FREE(ids);
}
@@ -2426,13 +2422,12 @@ libvirt_virConnectListAllDomains(PyObject *self ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virDomainPtrWrap(doms[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virDomainPtrWrap(doms[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
doms[i] = NULL;
}
@@ -2481,7 +2476,7 @@ libvirt_virConnectListDefinedDomains(PyObject *self
ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -2530,13 +2525,12 @@ libvirt_virDomainSnapshotListNames(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if ((pyobj_snap = libvirt_constcharPtrWrap(names[i])) == NULL ||
- PyList_SetItem(py_retval, i, pyobj_snap) < 0) {
- Py_XDECREF(pyobj_snap);
+ if ((pyobj_snap = libvirt_constcharPtrWrap(names[i])) == NULL) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, pyobj_snap);
VIR_FREE(names[i]);
}
@@ -2575,13 +2569,12 @@ libvirt_virDomainListAllSnapshots(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if ((pyobj_snap = libvirt_virDomainSnapshotPtrWrap(snaps[i])) == NULL ||
- PyList_SetItem(py_retval, i, pyobj_snap) < 0) {
- Py_XDECREF(pyobj_snap);
+ if ((pyobj_snap = libvirt_virDomainSnapshotPtrWrap(snaps[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, pyobj_snap);
snaps[i] = NULL;
}
@@ -2631,13 +2624,12 @@ libvirt_virDomainSnapshotListChildrenNames(PyObject *self
ATTRIBUTE_UNUSED,
py_retval = PyList_New(c_retval);
for (i = 0; i < c_retval; i++) {
- if ((pyobj_snap = libvirt_constcharPtrWrap(names[i])) == NULL ||
- PyList_SetItem(py_retval, i, pyobj_snap) < 0) {
- Py_XDECREF(pyobj_snap);
+ if ((pyobj_snap = libvirt_constcharPtrWrap(names[i])) == NULL) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, pyobj_snap);
VIR_FREE(names[i]);
}
@@ -2676,13 +2668,12 @@ libvirt_virDomainSnapshotListAllChildren(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if ((pyobj_snap = libvirt_virDomainSnapshotPtrWrap(snaps[i])) == NULL ||
- PyList_SetItem(py_retval, i, pyobj_snap) < 0) {
- Py_XDECREF(pyobj_snap);
+ if ((pyobj_snap = libvirt_virDomainSnapshotPtrWrap(snaps[i])) == NULL) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, pyobj_snap);
snaps[i] = NULL;
}
@@ -2734,11 +2725,11 @@ libvirt_virDomainGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject
*args) {
if (c_retval < 0)
return VIR_PY_NONE;
py_retval = PyList_New(5);
- PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.state));
- PyList_SetItem(py_retval, 1, libvirt_ulongWrap(info.maxMem));
- PyList_SetItem(py_retval, 2, libvirt_ulongWrap(info.memory));
- PyList_SetItem(py_retval, 3, libvirt_intWrap((int) info.nrVirtCpu));
- PyList_SetItem(py_retval, 4,
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap((int) info.state));
+ PyList_SET_ITEM(py_retval, 1, libvirt_ulongWrap(info.maxMem));
+ PyList_SET_ITEM(py_retval, 2, libvirt_ulongWrap(info.memory));
+ PyList_SET_ITEM(py_retval, 3, libvirt_intWrap((int) info.nrVirtCpu));
+ PyList_SET_ITEM(py_retval, 4,
libvirt_longlongWrap((unsigned long long) info.cpuTime));
return py_retval;
}
@@ -2767,8 +2758,8 @@ libvirt_virDomainGetState(PyObject *self ATTRIBUTE_UNUSED, PyObject
*args)
return VIR_PY_NONE;
py_retval = PyList_New(2);
- PyList_SetItem(py_retval, 0, libvirt_intWrap(state));
- PyList_SetItem(py_retval, 1, libvirt_intWrap(reason));
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap(state));
+ PyList_SET_ITEM(py_retval, 1, libvirt_intWrap(reason));
return py_retval;
}
@@ -2792,9 +2783,9 @@ libvirt_virDomainGetControlInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args)
if (c_retval < 0)
return VIR_PY_NONE;
py_retval = PyList_New(3);
- PyList_SetItem(py_retval, 0, libvirt_intWrap(info.state));
- PyList_SetItem(py_retval, 1, libvirt_intWrap(info.details));
- PyList_SetItem(py_retval, 2, libvirt_longlongWrap(info.stateTime));
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap(info.state));
+ PyList_SET_ITEM(py_retval, 1, libvirt_intWrap(info.details));
+ PyList_SET_ITEM(py_retval, 2, libvirt_longlongWrap(info.stateTime));
return py_retval;
}
@@ -2818,9 +2809,9 @@ libvirt_virDomainGetBlockInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args) {
if (c_retval < 0)
return VIR_PY_NONE;
py_retval = PyList_New(3);
- PyList_SetItem(py_retval, 0, libvirt_ulonglongWrap(info.capacity));
- PyList_SetItem(py_retval, 1, libvirt_ulonglongWrap(info.allocation));
- PyList_SetItem(py_retval, 2, libvirt_ulonglongWrap(info.physical));
+ PyList_SET_ITEM(py_retval, 0, libvirt_ulonglongWrap(info.capacity));
+ PyList_SET_ITEM(py_retval, 1, libvirt_ulonglongWrap(info.allocation));
+ PyList_SET_ITEM(py_retval, 2, libvirt_ulonglongWrap(info.physical));
return py_retval;
}
@@ -2842,14 +2833,14 @@ libvirt_virNodeGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject
*args) {
if (c_retval < 0)
return VIR_PY_NONE;
py_retval = PyList_New(8);
- PyList_SetItem(py_retval, 0, libvirt_constcharPtrWrap(&info.model[0]));
- PyList_SetItem(py_retval, 1, libvirt_longWrap((long) info.memory >> 10));
- PyList_SetItem(py_retval, 2, libvirt_intWrap((int) info.cpus));
- PyList_SetItem(py_retval, 3, libvirt_intWrap((int) info.mhz));
- PyList_SetItem(py_retval, 4, libvirt_intWrap((int) info.nodes));
- PyList_SetItem(py_retval, 5, libvirt_intWrap((int) info.sockets));
- PyList_SetItem(py_retval, 6, libvirt_intWrap((int) info.cores));
- PyList_SetItem(py_retval, 7, libvirt_intWrap((int) info.threads));
+ PyList_SET_ITEM(py_retval, 0, libvirt_constcharPtrWrap(&info.model[0]));
+ PyList_SET_ITEM(py_retval, 1, libvirt_longWrap((long) info.memory >> 10));
+ PyList_SET_ITEM(py_retval, 2, libvirt_intWrap((int) info.cpus));
+ PyList_SET_ITEM(py_retval, 3, libvirt_intWrap((int) info.mhz));
+ PyList_SET_ITEM(py_retval, 4, libvirt_intWrap((int) info.nodes));
+ PyList_SET_ITEM(py_retval, 5, libvirt_intWrap((int) info.sockets));
+ PyList_SET_ITEM(py_retval, 6, libvirt_intWrap((int) info.cores));
+ PyList_SET_ITEM(py_retval, 7, libvirt_intWrap((int) info.threads));
return py_retval;
}
@@ -2965,7 +2956,7 @@ libvirt_virConnectListNetworks(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3011,7 +3002,7 @@ libvirt_virConnectListDefinedNetworks(PyObject *self
ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3048,13 +3039,12 @@ libvirt_virConnectListAllNetworks(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virNetworkPtrWrap(nets[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virNetworkPtrWrap(nets[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
nets[i] = NULL;
}
@@ -3219,7 +3209,7 @@ libvirt_virNodeGetCellsFreeMemory(PyObject *self ATTRIBUTE_UNUSED,
PyObject *arg
}
py_retval = PyList_New(c_retval);
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i,
+ PyList_SET_ITEM(py_retval, i,
libvirt_longlongWrap((long long) freeMems[i]));
}
VIR_FREE(freeMems);
@@ -3398,7 +3388,7 @@ libvirt_virConnectListStoragePools(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3452,7 +3442,7 @@ libvirt_virConnectListDefinedStoragePools(PyObject *self
ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3489,13 +3479,12 @@ libvirt_virConnectListAllStoragePools(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virStoragePoolPtrWrap(pools[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virStoragePoolPtrWrap(pools[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
pools[i] = NULL;
}
@@ -3552,7 +3541,7 @@ libvirt_virStoragePoolListVolumes(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3590,13 +3579,12 @@ libvirt_virStoragePoolListAllVolumes(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virStorageVolPtrWrap(vols[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virStorageVolPtrWrap(vols[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
vols[i] = NULL;
}
@@ -3654,12 +3642,12 @@ libvirt_virStoragePoolGetInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args) {
if ((py_retval = PyList_New(4)) == NULL)
return VIR_PY_NONE;
- PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.state));
- PyList_SetItem(py_retval, 1,
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap((int) info.state));
+ PyList_SET_ITEM(py_retval, 1,
libvirt_longlongWrap((unsigned long long) info.capacity));
- PyList_SetItem(py_retval, 2,
+ PyList_SET_ITEM(py_retval, 2,
libvirt_longlongWrap((unsigned long long) info.allocation));
- PyList_SetItem(py_retval, 3,
+ PyList_SET_ITEM(py_retval, 3,
libvirt_longlongWrap((unsigned long long) info.available));
return py_retval;
}
@@ -3685,10 +3673,10 @@ libvirt_virStorageVolGetInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args) {
if ((py_retval = PyList_New(3)) == NULL)
return VIR_PY_NONE;
- PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.type));
- PyList_SetItem(py_retval, 1,
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap((int) info.type));
+ PyList_SET_ITEM(py_retval, 1,
libvirt_longlongWrap((unsigned long long) info.capacity));
- PyList_SetItem(py_retval, 2,
+ PyList_SET_ITEM(py_retval, 2,
libvirt_longlongWrap((unsigned long long) info.allocation));
return py_retval;
}
@@ -3806,7 +3794,7 @@ libvirt_virNodeListDevices(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -3843,13 +3831,12 @@ libvirt_virConnectListAllNodeDevices(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virNodeDevicePtrWrap(devices[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virNodeDevicePtrWrap(devices[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
devices[i] = NULL;
}
@@ -3897,7 +3884,7 @@ libvirt_virNodeDeviceListCaps(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -4017,7 +4004,7 @@ libvirt_virConnectListSecrets(PyObject *self ATTRIBUTE_UNUSED,
if (uuids) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
VIR_FREE(uuids[i]);
}
VIR_FREE(uuids);
@@ -4054,13 +4041,12 @@ libvirt_virConnectListAllSecrets(PyObject *self ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virSecretPtrWrap(secrets[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virSecretPtrWrap(secrets[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
secrets[i] = NULL;
}
@@ -4237,7 +4223,7 @@ libvirt_virConnectListNWFilters(PyObject *self ATTRIBUTE_UNUSED,
if (uuids) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(uuids[i]));
VIR_FREE(uuids[i]);
}
VIR_FREE(uuids);
@@ -4274,13 +4260,12 @@ libvirt_virConnectListAllNWFilters(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virNWFilterPtrWrap(filters[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virNWFilterPtrWrap(filters[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
filters[i] = NULL;
}
@@ -4337,7 +4322,7 @@ libvirt_virConnectListInterfaces(PyObject *self ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -4392,7 +4377,7 @@ libvirt_virConnectListDefinedInterfaces(PyObject *self
ATTRIBUTE_UNUSED,
if (names) {
for (i = 0; i < c_retval; i++) {
- PyList_SetItem(py_retval, i, libvirt_constcharPtrWrap(names[i]));
+ PyList_SET_ITEM(py_retval, i, libvirt_constcharPtrWrap(names[i]));
VIR_FREE(names[i]);
}
VIR_FREE(names);
@@ -4430,13 +4415,12 @@ libvirt_virConnectListAllInterfaces(PyObject *self
ATTRIBUTE_UNUSED,
goto cleanup;
for (i = 0; i < c_retval; i++) {
- if (!(tmp = libvirt_virInterfacePtrWrap(ifaces[i])) ||
- PyList_SetItem(py_retval, i, tmp) < 0) {
- Py_XDECREF(tmp);
+ if (!(tmp = libvirt_virInterfacePtrWrap(ifaces[i]))) {
Py_DECREF(py_retval);
py_retval = NULL;
goto cleanup;
}
+ PyList_SET_ITEM(py_retval, i, tmp);
/* python steals the pointer */
ifaces[i] = NULL;
}
@@ -4519,18 +4503,18 @@ libvirt_virDomainGetJobInfo(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args) {
if (c_retval < 0)
return VIR_PY_NONE;
py_retval = PyList_New(12);
- PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.type));
- PyList_SetItem(py_retval, 1, libvirt_ulonglongWrap(info.timeElapsed));
- PyList_SetItem(py_retval, 2, libvirt_ulonglongWrap(info.timeRemaining));
- PyList_SetItem(py_retval, 3, libvirt_ulonglongWrap(info.dataTotal));
- PyList_SetItem(py_retval, 4, libvirt_ulonglongWrap(info.dataProcessed));
- PyList_SetItem(py_retval, 5, libvirt_ulonglongWrap(info.dataRemaining));
- PyList_SetItem(py_retval, 6, libvirt_ulonglongWrap(info.memTotal));
- PyList_SetItem(py_retval, 7, libvirt_ulonglongWrap(info.memProcessed));
- PyList_SetItem(py_retval, 8, libvirt_ulonglongWrap(info.memRemaining));
- PyList_SetItem(py_retval, 9, libvirt_ulonglongWrap(info.fileTotal));
- PyList_SetItem(py_retval, 10, libvirt_ulonglongWrap(info.fileProcessed));
- PyList_SetItem(py_retval, 11, libvirt_ulonglongWrap(info.fileRemaining));
+ PyList_SET_ITEM(py_retval, 0, libvirt_intWrap((int) info.type));
+ PyList_SET_ITEM(py_retval, 1, libvirt_ulonglongWrap(info.timeElapsed));
+ PyList_SET_ITEM(py_retval, 2, libvirt_ulonglongWrap(info.timeRemaining));
+ PyList_SET_ITEM(py_retval, 3, libvirt_ulonglongWrap(info.dataTotal));
+ PyList_SET_ITEM(py_retval, 4, libvirt_ulonglongWrap(info.dataProcessed));
+ PyList_SET_ITEM(py_retval, 5, libvirt_ulonglongWrap(info.dataRemaining));
+ PyList_SET_ITEM(py_retval, 6, libvirt_ulonglongWrap(info.memTotal));
+ PyList_SET_ITEM(py_retval, 7, libvirt_ulonglongWrap(info.memProcessed));
+ PyList_SET_ITEM(py_retval, 8, libvirt_ulonglongWrap(info.memRemaining));
+ PyList_SET_ITEM(py_retval, 9, libvirt_ulonglongWrap(info.fileTotal));
+ PyList_SET_ITEM(py_retval, 10, libvirt_ulonglongWrap(info.fileProcessed));
+ PyList_SET_ITEM(py_retval, 11, libvirt_ulonglongWrap(info.fileRemaining));
return py_retval;
}
@@ -5916,7 +5900,7 @@ libvirt_virConnectDomainEventGraphicsCallback(virConnectPtr conn
ATTRIBUTE_UNUSE
PyTuple_SetItem(pair, 0,
libvirt_constcharPtrWrap(subject->identities[i].type));
PyTuple_SetItem(pair, 1,
libvirt_constcharPtrWrap(subject->identities[i].name));
- PyList_SetItem(pyobj_subject, i, pair);
+ PyList_SET_ITEM(pyobj_subject, i, pair);
}
/* Call the Callback Dispatcher */
@@ -7101,8 +7085,7 @@ libvirt_virNodeGetCPUMap(PyObject *self ATTRIBUTE_UNUSED,
for (i = 0; i < i_retval; i++) {
if ((pyused = PyBool_FromLong(VIR_CPU_USED(cpumap, i))) == NULL)
goto error;
- if (PyList_SetItem(pycpumap, i, pyused) < 0)
- goto error;
+ PyList_SET_ITEM(pycpumap, i, pyused);
}
if (PyTuple_SetItem(ret, 1, pycpumap) < 0)
--
1.8.3.1