| Index: gdb/python/py-evts.c
|
| diff --git a/gdb/python/py-evts.c b/gdb/python/py-evts.c
|
| index 38cd128d522471684c5c8fb93f46f544da81f2c2..1ff30229f0a84ef2fdea1b15afe1b87505715e2b 100644
|
| --- a/gdb/python/py-evts.c
|
| +++ b/gdb/python/py-evts.c
|
| @@ -1,6 +1,6 @@
|
| /* Python interface to inferior events.
|
|
|
| - Copyright (C) 2009-2012 Free Software Foundation, Inc.
|
| + Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
|
|
| This file is part of GDB.
|
|
|
| @@ -17,58 +17,69 @@
|
| You should have received a copy of the GNU General Public License
|
| along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
| +#include "defs.h"
|
| #include "py-events.h"
|
|
|
| +#ifdef IS_PY3K
|
| +static struct PyModuleDef EventModuleDef =
|
| +{
|
| + PyModuleDef_HEAD_INIT,
|
| + "gdb.events",
|
| + NULL,
|
| + -1,
|
| + NULL,
|
| + NULL,
|
| + NULL,
|
| + NULL,
|
| + NULL
|
| +};
|
| +#endif
|
| +
|
| /* Initialize python events. */
|
|
|
| -static int
|
| +static int CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION
|
| add_new_registry (eventregistry_object **registryp, char *name)
|
| {
|
| + int result;
|
| +
|
| *registryp = create_eventregistry_object ();
|
|
|
| if (*registryp == NULL)
|
| - goto fail;
|
| -
|
| - if (PyModule_AddObject (gdb_py_events.module,
|
| - name,
|
| - (PyObject *)(*registryp)) < 0)
|
| - goto fail;
|
| + return -1;
|
|
|
| - return 0;
|
| -
|
| - fail:
|
| - Py_XDECREF (*registryp);
|
| - return -1;
|
| + return gdb_pymodule_addobject (gdb_py_events.module,
|
| + name,
|
| + (PyObject *)(*registryp));
|
| }
|
|
|
| -void
|
| +int
|
| gdbpy_initialize_py_events (void)
|
| {
|
| +#ifdef IS_PY3K
|
| + gdb_py_events.module = PyModule_Create (&EventModuleDef);
|
| +#else
|
| gdb_py_events.module = Py_InitModule ("events", NULL);
|
| +#endif
|
|
|
| if (!gdb_py_events.module)
|
| - goto fail;
|
| + return -1;
|
|
|
| if (add_new_registry (&gdb_py_events.stop, "stop") < 0)
|
| - goto fail;
|
| + return -1;
|
|
|
| if (add_new_registry (&gdb_py_events.cont, "cont") < 0)
|
| - goto fail;
|
| + return -1;
|
|
|
| if (add_new_registry (&gdb_py_events.exited, "exited") < 0)
|
| - goto fail;
|
| + return -1;
|
|
|
| if (add_new_registry (&gdb_py_events.new_objfile, "new_objfile") < 0)
|
| - goto fail;
|
| + return -1;
|
|
|
| - Py_INCREF (gdb_py_events.module);
|
| - if (PyModule_AddObject (gdb_module,
|
| - "events",
|
| - (PyObject *) gdb_py_events.module) < 0)
|
| - goto fail;
|
| + if (gdb_pymodule_addobject (gdb_module,
|
| + "events",
|
| + (PyObject *) gdb_py_events.module) < 0)
|
| + return -1;
|
|
|
| - return;
|
| -
|
| - fail:
|
| - gdbpy_print_stack ();
|
| + return 0;
|
| }
|
|
|