gdb: remove use of iterate_over_inferiors in py-inferior.c
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 17 Jan 2020 14:51:10 +0000 (09:51 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Fri, 17 Jan 2020 14:51:10 +0000 (09:51 -0500)
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.

gdb/ChangeLog
gdb/python/py-inferior.c

index 5301385ecbf55889f8b76761fac64ef239a9612c..2de025dd6309a687a69601120894ce8cf95ff9ae 100644 (file)
@@ -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).
index 4adc5d6f99888a9a89df69fbebe831e199f92ff9..fd7d8a8aa7094b549859dec370520b2cb9a8c616 100644 (file)
@@ -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 ());
 }