X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fpython%2Fpy-bpevent.c;h=6bdbd8cb1b905e77107384e5568b70170dcf44f5;hb=7c711119166fc1c60c756059f39c6703d57eedbf;hp=f9c70838ed9586cdef346240645157d5e8538976;hpb=61baf725eca99af2569262d10aca03dcde2698f6;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/python/py-bpevent.c b/gdb/python/py-bpevent.c index f9c70838ed..6bdbd8cb1b 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-2017 Free Software Foundation, Inc. + Copyright (C) 2009-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -19,40 +19,28 @@ #include "defs.h" #include "py-stopevent.h" - -extern PyTypeObject breakpoint_event_object_type - CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF ("event_object"); +#include "py-ref.h" /* 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, + if (evpy_add_attribute (breakpoint_event_obj.get (), "breakpoint", first_bp) < 0) - goto fail; - if (evpy_add_attribute (breakpoint_event_obj, + return NULL; + if (evpy_add_attribute (breakpoint_event_obj.get (), "breakpoints", breakpoint_list) < 0) - goto fail; + 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);