summaryrefslogtreecommitdiff
path: root/gdb/python/py-inferior.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2016-11-20 10:31:17 -0700
committerTom Tromey <tom@tromey.com>2017-01-10 19:14:03 -0700
commit9205649a38c609a42ba52680a316fceaa08c1543 (patch)
treeb84223d37cd9b9371724c6de2769263e5159b183 /gdb/python/py-inferior.c
parent74c49d454b81c84fcffbc090466e241bdefd2f3a (diff)
Use gdbpy_ref in py-inferior.c
This changes py-inferior.c to use gdbpy_ref in more places. 2017-01-10 Tom Tromey <tom@tromey.com> * python/py-inferior.c (find_thread_object, build_inferior_list): Use gdbpy_ref.
Diffstat (limited to 'gdb/python/py-inferior.c')
-rw-r--r--gdb/python/py-inferior.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
index 4b3f8eefa0..9e10d62c51 100644
--- a/gdb/python/py-inferior.c
+++ b/gdb/python/py-inferior.c
@@ -251,19 +251,17 @@ find_thread_object (ptid_t ptid)
{
int pid;
struct threadlist_entry *thread;
- PyObject *inf_obj;
thread_object *found = NULL;
pid = ptid_get_pid (ptid);
if (pid == 0)
return NULL;
- inf_obj = find_inferior_object (pid);
-
- if (! inf_obj)
+ gdbpy_ref inf_obj (find_inferior_object (pid));
+ if (inf_obj == NULL)
return NULL;
- for (thread = ((inferior_object *)inf_obj)->threads; thread;
+ for (thread = ((inferior_object *)(inf_obj.get ()))->threads; thread;
thread = thread->next)
if (ptid_equal (thread->thread_obj->thread->ptid, ptid))
{
@@ -271,8 +269,6 @@ find_thread_object (ptid_t ptid)
break;
}
- Py_DECREF (inf_obj);
-
if (found)
return found;
@@ -416,19 +412,12 @@ static int
build_inferior_list (struct inferior *inf, void *arg)
{
PyObject *list = (PyObject *) arg;
- PyObject *inferior = inferior_to_inferior_object (inf);
- int success = 0;
+ gdbpy_ref inferior (inferior_to_inferior_object (inf));
- if (! inferior)
+ if (inferior == NULL)
return 0;
- success = PyList_Append (list, inferior);
- Py_DECREF (inferior);
-
- if (success)
- return 1;
-
- return 0;
+ return PyList_Append (list, inferior.get ()) ? 1 : 0;
}
/* Implementation of gdb.inferiors () -> (gdb.Inferior, ...).