From: Tom Tromey Date: Mon, 7 Nov 2016 04:49:34 +0000 (-0700) Subject: Use gdbpy_ref in python.c X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ff3724f5123b9d9c52a07f7c1a5d85852e666c48;p=binutils-gdb.git Use gdbpy_ref in python.c This changes a couple of functions in python.c to use gdbpy_ref. 2017-01-10 Tom Tromey * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use gdbpy_ref. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index caf042c3706..cb4ffd2ac3c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-01-10 Tom Tromey + + * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use + gdbpy_ref. + 2017-01-10 Tom Tromey * python/py-prettyprint.c (search_pp_list) diff --git a/gdb/python/python.c b/gdb/python/python.c index c6e410a6d2b..a2f36249e4f 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -99,6 +99,7 @@ const struct extension_language_defn extension_language_python = #include "gdbthread.h" #include "interps.h" #include "event-top.h" +#include "py-ref.h" /* True if Python has been successfully initialized, false otherwise. */ @@ -1266,24 +1267,20 @@ static PyObject * gdbpy_progspaces (PyObject *unused1, PyObject *unused2) { struct program_space *ps; - PyObject *list; - list = PyList_New (0); - if (!list) + gdbpy_ref list (PyList_New (0)); + if (list == NULL) return NULL; ALL_PSPACES (ps) { PyObject *item = pspace_to_pspace_object (ps); - if (!item || PyList_Append (list, item) == -1) - { - Py_DECREF (list); - return NULL; - } + if (!item || PyList_Append (list.get (), item) == -1) + return NULL; } - return list; + return list.release (); } @@ -1366,24 +1363,20 @@ static PyObject * gdbpy_objfiles (PyObject *unused1, PyObject *unused2) { struct objfile *objf; - PyObject *list; - list = PyList_New (0); - if (!list) + gdbpy_ref list (PyList_New (0)); + if (list == NULL) return NULL; ALL_OBJFILES (objf) { PyObject *item = objfile_to_objfile_object (objf); - if (!item || PyList_Append (list, item) == -1) - { - Py_DECREF (list); - return NULL; - } + if (!item || PyList_Append (list.get (), item) == -1) + return NULL; } - return list; + return list.release (); } /* Compute the list of active python type printers and store them in