From c86acd3f180419c3d9825170492363fe2322fa8d Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 7 Jun 2022 09:15:24 -0600 Subject: [PATCH] Use PyBool_FromLong I noticed a few spots that were explicitly creating new references to Py_True or Py_False. It's simpler here to use PyBool_FromLong, so this patch changes all the places I found. --- gdb/python/py-cmd.c | 3 +-- gdb/python/py-symbol.c | 3 +-- gdb/python/py-type.c | 6 ++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c index f80318374d3..5cc392af175 100644 --- a/gdb/python/py-cmd.c +++ b/gdb/python/py-cmd.c @@ -128,8 +128,7 @@ cmdpy_function (const char *args, int from_tty, cmd_list_element *command) error (_("Could not convert arguments to Python string.")); } - gdbpy_ref<> ttyobj - = gdbpy_ref<>::new_reference (from_tty ? Py_True : Py_False); + gdbpy_ref<> ttyobj (PyBool_FromLong (from_tty)); gdbpy_ref<> result (PyObject_CallMethodObjArgs ((PyObject *) obj, invoke_cst, argobj.get (), ttyobj.get (), NULL)); diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c index 02c35acd1e9..23495b66d42 100644 --- a/gdb/python/py-symbol.c +++ b/gdb/python/py-symbol.c @@ -426,8 +426,7 @@ gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw) } PyTuple_SET_ITEM (ret_tuple.get (), 0, sym_obj); - bool_obj = (is_a_field_of_this.type != NULL) ? Py_True : Py_False; - Py_INCREF (bool_obj); + bool_obj = PyBool_FromLong (is_a_field_of_this.type != NULL); PyTuple_SET_ITEM (ret_tuple.get (), 1, bool_obj); return ret_tuple.release (); diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c index 5352ead84bd..0e772ad44b4 100644 --- a/gdb/python/py-type.c +++ b/gdb/python/py-type.c @@ -220,14 +220,12 @@ convert_field (struct type *type, int field) if (PyObject_SetAttrString (result.get (), "name", arg.get ()) < 0) return NULL; - arg = gdbpy_ref<>::new_reference (TYPE_FIELD_ARTIFICIAL (type, field) - ? Py_True : Py_False); + arg.reset (PyBool_FromLong (TYPE_FIELD_ARTIFICIAL (type, field))); if (PyObject_SetAttrString (result.get (), "artificial", arg.get ()) < 0) return NULL; if (type->code () == TYPE_CODE_STRUCT) - arg = gdbpy_ref<>::new_reference (field < TYPE_N_BASECLASSES (type) - ? Py_True : Py_False); + arg.reset (PyBool_FromLong (field < TYPE_N_BASECLASSES (type))); else arg = gdbpy_ref<>::new_reference (Py_False); if (PyObject_SetAttrString (result.get (), "is_base_class", arg.get ()) < 0) -- 2.30.2