X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fpython%2Fpy-bpevent.c;h=736e498d5c7a52de37b5227fb77d5eda2f5587eb;hb=6b95f5ad9684530960eb828c76755a7b27a44e43;hp=8e4afe47e21bcbbcef2b8091666f82ee2c3aa8dc;hpb=db6573d6646f950b5a758fd68d180de8ae1e8981;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/python/py-bpevent.c b/gdb/python/py-bpevent.c index 8e4afe47e2..736e498d5c 100644 --- a/gdb/python/py-bpevent.c +++ b/gdb/python/py-bpevent.c @@ -1,6 +1,6 @@ /* Python interface to inferior breakpoint stop events. - Copyright (C) 2009-2012 Free Software Foundation, Inc. + Copyright (C) 2009-2021 Free Software Foundation, Inc. This file is part of GDB. @@ -17,41 +17,29 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include "defs.h" #include "py-stopevent.h" -static PyTypeObject breakpoint_event_object_type; - /* Create and initialize a BreakpointEvent object. This acquires new references to BREAKPOINT_LIST and FIRST_BP. */ -PyObject * +gdbpy_ref<> create_breakpoint_event_object (PyObject *breakpoint_list, PyObject *first_bp) { - PyObject *breakpoint_event_obj = - create_stop_event_object (&breakpoint_event_object_type); + gdbpy_ref<> breakpoint_event_obj + = create_stop_event_object (&breakpoint_event_object_type); - if (!breakpoint_event_obj) - goto fail; + if (breakpoint_event_obj == NULL) + return NULL; - if (evpy_add_attribute (breakpoint_event_obj, - "breakpoint", - first_bp) < 0) - goto fail; - if (evpy_add_attribute (breakpoint_event_obj, - "breakpoints", - breakpoint_list) < 0) - goto fail; + if (evpy_add_attribute (breakpoint_event_obj.get (), + "breakpoint", + first_bp) < 0) + return NULL; + if (evpy_add_attribute (breakpoint_event_obj.get (), + "breakpoints", + breakpoint_list) < 0) + return NULL; return breakpoint_event_obj; - - fail: - Py_XDECREF (breakpoint_event_obj); - return NULL; } - -GDBPY_NEW_EVENT_TYPE (breakpoint, - "gdb.BreakpointEvent", - "BreakpointEvent", - "GDB breakpoint stop event object", - stop_event_object_type, - static);