
David Lively <dlively@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 ^^.