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.
This commit is contained in:
Tom Tromey 2022-06-07 09:15:24 -06:00
parent 570e911f4e
commit c86acd3f18
3 changed files with 4 additions and 8 deletions

View file

@ -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));

View file

@ -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 ();

View file

@ -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)