Use gdbpy_ref in py-param.c
This changes py-param.c to use gdbpy_ref in a couple more spots. 2017-01-10 Tom Tromey <tom@tromey.com> * python/py-param.c (get_doc_string, compute_enum_values): Use gdbpy_ref.
This commit is contained in:
parent
9205649a38
commit
97d83487d5
2 changed files with 13 additions and 10 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* python/py-param.c (get_doc_string, compute_enum_values): Use
|
||||||
|
gdbpy_ref.
|
||||||
|
|
||||||
2017-01-10 Tom Tromey <tom@tromey.com>
|
2017-01-10 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* python/py-inferior.c (find_thread_object, build_inferior_list):
|
* python/py-inferior.c (find_thread_object, build_inferior_list):
|
||||||
|
|
|
@ -307,15 +307,14 @@ get_doc_string (PyObject *object, PyObject *attr)
|
||||||
|
|
||||||
if (PyObject_HasAttr (object, attr))
|
if (PyObject_HasAttr (object, attr))
|
||||||
{
|
{
|
||||||
PyObject *ds_obj = PyObject_GetAttr (object, attr);
|
gdbpy_ref ds_obj (PyObject_GetAttr (object, attr));
|
||||||
|
|
||||||
if (ds_obj && gdbpy_is_string (ds_obj))
|
if (ds_obj != NULL && gdbpy_is_string (ds_obj.get ()))
|
||||||
{
|
{
|
||||||
result = python_string_to_host_string (ds_obj);
|
result = python_string_to_host_string (ds_obj.get ());
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
gdbpy_print_stack ();
|
gdbpy_print_stack ();
|
||||||
}
|
}
|
||||||
Py_XDECREF (ds_obj);
|
|
||||||
}
|
}
|
||||||
if (! result)
|
if (! result)
|
||||||
result.reset (xstrdup (_("This command is not documented.")));
|
result.reset (xstrdup (_("This command is not documented.")));
|
||||||
|
@ -587,23 +586,22 @@ compute_enum_values (parmpy_object *self, PyObject *enum_values)
|
||||||
|
|
||||||
for (i = 0; i < size; ++i)
|
for (i = 0; i < size; ++i)
|
||||||
{
|
{
|
||||||
PyObject *item = PySequence_GetItem (enum_values, i);
|
gdbpy_ref item (PySequence_GetItem (enum_values, i));
|
||||||
|
|
||||||
if (! item)
|
if (item == NULL)
|
||||||
{
|
{
|
||||||
do_cleanups (back_to);
|
do_cleanups (back_to);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (! gdbpy_is_string (item))
|
if (! gdbpy_is_string (item.get ()))
|
||||||
{
|
{
|
||||||
Py_DECREF (item);
|
|
||||||
do_cleanups (back_to);
|
do_cleanups (back_to);
|
||||||
PyErr_SetString (PyExc_RuntimeError,
|
PyErr_SetString (PyExc_RuntimeError,
|
||||||
_("The enumeration item not a string."));
|
_("The enumeration item not a string."));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
self->enumeration[i] = python_string_to_host_string (item).release ();
|
self->enumeration[i]
|
||||||
Py_DECREF (item);
|
= python_string_to_host_string (item.get ()).release ();
|
||||||
if (self->enumeration[i] == NULL)
|
if (self->enumeration[i] == NULL)
|
||||||
{
|
{
|
||||||
do_cleanups (back_to);
|
do_cleanups (back_to);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue