diff options
Diffstat (limited to 'gdb/python/py-event.c')
-rw-r--r-- | gdb/python/py-event.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gdb/python/py-event.c b/gdb/python/py-event.c index 161a5e1..127dcc7 100644 --- a/gdb/python/py-event.c +++ b/gdb/python/py-event.c @@ -30,21 +30,15 @@ evpy_dealloc (PyObject *self) PyObject * create_event_object (PyTypeObject *py_type) { - event_object *event_obj; - - event_obj = PyObject_New (event_object, py_type); - if (!event_obj) - goto fail; + gdbpy_ref<event_object> event_obj (PyObject_New (event_object, py_type)); + if (event_obj == NULL) + return NULL; event_obj->dict = PyDict_New (); if (!event_obj->dict) - goto fail; - - return (PyObject*) event_obj; + return NULL; - fail: - Py_XDECREF (event_obj); - return NULL; + return (PyObject*) event_obj.release (); } /* Add the attribute ATTR to the event object EVENT. In |