[binutils-gdb] gdb: remove use of iterate_over_inferiors in py-inferior.c

Simon Marchi simark@sourceware.org
Fri Jan 17 14:59:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d9bc85b65b3daab0c3579be0efc3b33c1ef24620

commit d9bc85b65b3daab0c3579be0efc3b33c1ef24620
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Fri Jan 17 09:51:10 2020 -0500

    gdb: remove use of iterate_over_inferiors in py-inferior.c
    
    Use range-based for instead of iterate_over_inferiors in one spot in the Python
    code.
    
    gdb/ChangeLog:
    
    	* python/py-inferior.c (build_inferior_list): Remove.
    	(gdbpy_ref): Use range-based for loop to iterate over inferiors.

Diff:
---
 gdb/ChangeLog            |  5 +++++
 gdb/python/py-inferior.c | 24 ++++++++++--------------
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5301385..2de025d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-17  Simon Marchi  <simon.marchi@efficios.com>
+
+	* python/py-inferior.c (build_inferior_list): Remove.
+	(gdbpy_ref): Use range-based for loop to iterate over inferiors.
+
 2020-01-16  Christian Biesinger  <cbiesinger@google.com>
 
 	* btrace.c (btrace_compute_ftrace_1): Fix spelling error (Unkown).
diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
index 4adc5d6..fd7d8a8 100644
--- a/gdb/python/py-inferior.c
+++ b/gdb/python/py-inferior.c
@@ -462,18 +462,6 @@ infpy_get_progspace (PyObject *self, void *closure)
   return pspace_to_pspace_object (pspace).release ();
 }
 
-static int
-build_inferior_list (struct inferior *inf, void *arg)
-{
-  PyObject *list = (PyObject *) arg;
-  gdbpy_ref<inferior_object> inferior = inferior_to_inferior_object (inf);
-
-  if (inferior == NULL)
-    return 0;
-
-  return PyList_Append (list, (PyObject *) inferior.get ()) ? 1 : 0;
-}
-
 /* Implementation of gdb.inferiors () -> (gdb.Inferior, ...).
    Returns a tuple of all inferiors.  */
 PyObject *
@@ -483,8 +471,16 @@ gdbpy_inferiors (PyObject *unused, PyObject *unused2)
   if (list == NULL)
     return NULL;
 
-  if (iterate_over_inferiors (build_inferior_list, list.get ()))
-    return NULL;
+  for (inferior *inf : all_inferiors ())
+    {
+      gdbpy_ref<inferior_object> inferior = inferior_to_inferior_object (inf);
+
+      if (inferior == NULL)
+	continue;
+
+      if (PyList_Append (list.get (), (PyObject *) inferior.get ()) != 0)
+	return NULL;
+    }
 
   return PyList_AsTuple (list.get ());
 }



More information about the Gdb-cvs mailing list