From ecaf98fcc5c44ddc5f88e79421f55c4270bc4c3d Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Thu, 7 Feb 2008 09:49:13 +0000 Subject: [PATCH] Python bindings return values fixes * python/libvir.c: apply patch from Cole Robinson to provide return values for manulally written python bindings. Daniel --- ChangeLog | 5 +++++ python/libvir.c | 24 +++++++++++++----------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0d7c4cdfac..ad60c51f78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 7 10:47:44 CET 2008 Daniel Veillard + + * python/libvir.c: apply patch from Cole Robinson to provide + return values for manulally written python bindings. + Thu Feb 7 10:29:57 CET 2008 Daniel Veillard * src/libvirt.c: fix bug in xenUnifiedDomainSuspend() patch provided diff --git a/python/libvir.c b/python/libvir.c index 96555b3a04..67d6252f8e 100644 --- a/python/libvir.c +++ b/python/libvir.c @@ -27,6 +27,8 @@ extern void initcygvirtmod(void); is so common that we encapsulate it here. Now, each use is simply return VIR_PY_NONE; */ #define VIR_PY_NONE (Py_INCREF (Py_None), Py_None) +#define VIR_PY_INT_FAIL (libvirt_intWrap(-1)) +#define VIR_PY_INT_SUCCESS (libvirt_intWrap(0)) /************************************************************************ * * @@ -214,15 +216,15 @@ libvirt_virDomainSetSchedulerParameters(PyObject *self ATTRIBUTE_UNUSED, c_retval = virDomainGetSchedulerType(domain, &nparams); if (c_retval == NULL) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; free(c_retval); if ((params = malloc(sizeof(*params)*nparams)) == NULL) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; if (virDomainGetSchedulerParameters(domain, params, &nparams) < 0) { free(params); - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; } /* convert to a Python tupple of long objects */ @@ -269,17 +271,17 @@ libvirt_virDomainSetSchedulerParameters(PyObject *self ATTRIBUTE_UNUSED, default: free(params); - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; } } if (virDomainSetSchedulerParameters(domain, params, nparams) < 0) { free(params); - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; } free(params); - return VIR_PY_NONE; + return VIR_PY_INT_SUCCESS; } static PyObject * @@ -383,11 +385,11 @@ libvirt_virDomainPinVcpu(PyObject *self ATTRIBUTE_UNUSED, domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); if (virNodeGetInfo(virDomainGetConnect(domain), &nodeinfo) != 0) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo)); if ((cpumap = malloc(cpumaplen)) == NULL) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; memset(cpumap, 0, cpumaplen); truth = PyBool_FromLong(1); @@ -403,7 +405,7 @@ libvirt_virDomainPinVcpu(PyObject *self ATTRIBUTE_UNUSED, Py_DECREF(truth); free(cpumap); - return VIR_PY_NONE; + return VIR_PY_INT_SUCCESS; } @@ -1030,7 +1032,7 @@ libvirt_virDomainGetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { LIBVIRT_END_ALLOW_THREADS; if (c_retval < 0) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; py_retval = libvirt_intWrap(autostart); return(py_retval); } @@ -1053,7 +1055,7 @@ libvirt_virNetworkGetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) LIBVIRT_END_ALLOW_THREADS; if (c_retval < 0) - return VIR_PY_NONE; + return VIR_PY_INT_FAIL; py_retval = libvirt_intWrap(autostart); return(py_retval); }