Change one more spot to use gdbpy_ref
This patch changes one more spot in the Python layer to use gdbpy_ref. gdb/ChangeLog 2017-02-10 Tom Tromey <tom@tromey.com> * python/py-prettyprint.c (pretty_print_one_value): Use gdbpy_ref.
This commit is contained in:
parent
88b6faea99
commit
1bdfaf42ac
2 changed files with 13 additions and 7 deletions
|
@ -190,21 +190,22 @@ find_pretty_printer (PyObject *value)
|
|||
static PyObject *
|
||||
pretty_print_one_value (PyObject *printer, struct value **out_value)
|
||||
{
|
||||
PyObject *result = NULL;
|
||||
gdbpy_ref<> result;
|
||||
|
||||
*out_value = NULL;
|
||||
TRY
|
||||
{
|
||||
result = PyObject_CallMethodObjArgs (printer, gdbpy_to_string_cst, NULL);
|
||||
if (result)
|
||||
result.reset (PyObject_CallMethodObjArgs (printer, gdbpy_to_string_cst,
|
||||
NULL));
|
||||
if (result != NULL)
|
||||
{
|
||||
if (! gdbpy_is_string (result) && ! gdbpy_is_lazy_string (result)
|
||||
if (! gdbpy_is_string (result.get ())
|
||||
&& ! gdbpy_is_lazy_string (result.get ())
|
||||
&& result != Py_None)
|
||||
{
|
||||
*out_value = convert_value_from_python (result);
|
||||
*out_value = convert_value_from_python (result.get ());
|
||||
if (PyErr_Occurred ())
|
||||
*out_value = NULL;
|
||||
Py_DECREF (result);
|
||||
result = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -214,7 +215,7 @@ pretty_print_one_value (PyObject *printer, struct value **out_value)
|
|||
}
|
||||
END_CATCH
|
||||
|
||||
return result;
|
||||
return result.release ();
|
||||
}
|
||||
|
||||
/* Return the display hint for the object printer, PRINTER. Return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue