[libvirt] [PATCH] fix python events
Jim Meyering
jim at meyering.net
Sat Nov 22 07:21:59 UTC 2008
David Lively <dlively at virtualiron.com> wrote:
> On Fri, 2008-11-21 at 17:51 +0100, Jim Meyering wrote:
>> No big deal, but there are several debug printf uses here that look
>> like they try to print NULL pointers upon memory allocation failure.
>> It's ok with glibc's printf of course, but not for others.
>
> You're right. Attached patch fixes those issues. It also fixes some
> cases in which I got some printf string operands switched around ...
>
> I'm printing the (user-supplied) object names to help in debugging
> misbehaving python EventImpls (since there's no static type checking to
> catch these kinds of things). So instead of printing "<NULL>" when we
> can't alloc the name, I'm printing something a little more helpful (the
> appropriate "generic" name).
That's better, indeed.
I prefer your NAME macro, too.
ACK, modulo syntax:
> diff --git a/examples/domain-events/events-python/event-test.py b/examples/domain-events/events-python/event-test.py
> @@ -175,8 +185,7 @@ def main():
>
> if h_cb != None:
> #print "Invoking Handle CB"
> - h_cb(0, h_fd, myPollEventToEventHandleType(revents & h_events),
> - h_opaque[0], h_opaque[1])
> + h_cb(0, h_fd, myPollEventToEventHandleType(revents & h_events), h_opaque[0], h_opaque[1])
Reversed diff? Better to split long lines,
not to join.
> #print "DEBUG EXIT"
> #break
> diff --git a/python/libvir.c b/python/libvir.c
> index 7d58442..fed1031 100644
> --- a/python/libvir.c
> +++ b/python/libvir.c
> @@ -35,6 +35,18 @@ extern void initcygvirtmod(void);
> #define VIR_PY_INT_FAIL (libvirt_intWrap(-1))
> #define VIR_PY_INT_SUCCESS (libvirt_intWrap(0))
>
> +static char *py_str(PyObject *obj)
> +{
> + PyObject *str = PyObject_Str(obj);
> + if (!str) {
> + PyErr_Print();
> + PyErr_Clear();
> + return NULL;
> + };
> + return PyString_AsString(str);
> +}
> + <<<
Trailing white space ^^.
More information about the libvir-list
mailing list