This patch series tries to cleanup the libvirt-python C code and also make it more readable. It also fixes places, where we didn't checked for return values and where we also returned wrong values in case of errors. There are some other minor issues, that I've found. Pavel Hrdina (23): update virDomainGetVcpus xml API description refactor the function to not override python exceptions remove useless check for NULL before Py_XDECREF drop unnecessary goto Move utils and shared code into libvirt-utils cleanup functions definition indent labels by one space fix indentation wrap lines to 80 columns Return NULL if python exception is set Return correct python object Return NULL and set an exception if allocation fails Use VIR_PY_NONE instead use Py_CLEAR instead of Py_XDECREF followed by NULL assignment all Py*_New function has to be checked for return value change the order of some statements drop unnecessary py_retval variable improve usage of cleanup paths utils: introduce new macro helpers for tuple, list and dict objects use VIR_PY_TUPLE_GOTO use VYR_PY_LIST_SET_GOTO and VIR_PY_LIST_APPEND_GOTO use VIR_PY_DICT_SET_GOTO coverity: resolve dead_error_condition libvirt-lxc-override.c | 61 +- libvirt-override-api.xml | 4 +- libvirt-override.c | 3156 +++++++++++++++++++++------------------------- libvirt-qemu-override.c | 60 +- libvirt-utils.c | 422 ++++++- libvirt-utils.h | 133 ++ typewrappers.c | 65 +- 7 files changed, 2047 insertions(+), 1854 deletions(-) -- 2.5.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list