[libvirt] [libvirt-python v2 PATCH] Improve error output when use getTime with a nonzero flags.

Peter Krempa pkrempa at redhat.com
Mon Oct 20 06:37:21 UTC 2014


On 10/17/14 04:12, Luyao Huang wrote:
> When give a nonzero flags to getTime, c_retval will get -1 and goto cleanup.
> But py_retval still is NULL,so pass c_retval value to py_retval.
> This will make the output message more correct.
> 
> error before use this patch:
> SystemError: error return without exception set
> 
> after use the patch:
> libvirtError: unsupported flags (0x1) in function qemuDomainGetTime
> 
> v1:
> https://www.redhat.com/archives/libvir-list/2014-October/msg00482.html
> 
> Signed-off-by: Luyao Huang <lhuang at redhat.com>
> ---
>  libvirt-override.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/libvirt-override.c b/libvirt-override.c
> index 9ba87eb..c779aa3 100644
> --- a/libvirt-override.c
> +++ b/libvirt-override.c
> @@ -7757,9 +7757,11 @@ libvirt_virDomainGetTime(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
>      c_retval = virDomainGetTime(domain, &seconds, &nseconds, flags);
>      LIBVIRT_END_ALLOW_THREADS;
>  
> -    if (c_retval < 0)
> +    if (c_retval < 0){

Missing space before '{'

> +	py_retval = libvirt_intWrap(c_retval);

Returning the return value from the C api is useless here. The function
returns a dict on success path thus on error you should return None
(VIR_PY_NONE).

>          goto cleanup;
> -
> +    }
> +   
>      if (!(pyobj_seconds = libvirt_longlongWrap(seconds)) ||
>          PyDict_SetItemString(dict, "seconds", pyobj_seconds) < 0)
>          goto cleanup;
> 

Peter

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20141020/c1fd6a12/attachment-0001.sig>


More information about the libvir-list mailing list