python: return dictionary without value in case of no blockjobv1.0.5.6v1.0.5.7
commitb357cfa0d3b243469eebd4ba7b7d332f533bb7db
authorGuannan Ren <gren@redhat.com>
Fri, 17 May 2013 06:30:10 +0000 (17 14:30 +0800)
committerEric Blake <eblake@redhat.com>
Tue, 20 Aug 2013 17:44:55 +0000 (20 11:44 -0600)
tree8f66c113a8b72ee7fd72425a62b5853b2a91e5f5
parentfb395ac9c8dbeac8d3c2296adbe0ab5b081c52d7
python: return dictionary without value in case of no blockjob

https://bugzilla.redhat.com/show_bug.cgi?id=999077

Currently, when there is no blockjob, dom.blockJobInfo('vda')
still reports error because it doesn't distinguish return value 0 from -1.
libvirt.libvirtError: virDomainGetBlockJobInfo() failed

virDomainGetBlockJobInfo() API return value:
 -1 in case of failure, 0 when nothing found, 1 found.

And use PyDict_SetItemString instead of PyDict_SetItem when key is
of string type. PyDict_SetItemString increments key/value reference
count, so call Py_DECREF() for value. For key, we don't need to
do this, because PyDict_SetItemString will handle it internally.

(cherry picked from commit 0f9e67bfad96c4a2e69769d8a5908ee145a86766)
libvirt-override.c