mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
gdb/python: Make convert_values_to_python return gdbpy_ref<>
Make convert_values_to_python return a gdbpy_ref<> directly rather than building a gdbpy_ref<>, releasing it, and then having a new gdbpy_ref<> created to hold the result. I also added a header comment to convert_values_to_python. gdb/ChangeLog: * python/py-function.c (convert_values_to_python): Return gdbpy_ref<>. Add header comment. (fnpy_call): Adjust.
This commit is contained in:
parent
50db9ef4c0
commit
b352ceb6b4
@ -1,3 +1,9 @@
|
||||
2018-10-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* python/py-function.c (convert_values_to_python): Return
|
||||
gdbpy_ref<>. Add header comment.
|
||||
(fnpy_call): Adjust.
|
||||
|
||||
2018-10-25 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* python/py-cmd.c (cmdpy_completer_helper): Return gdbpy_ref<>.
|
||||
|
@ -34,7 +34,10 @@ extern PyTypeObject fnpy_object_type
|
||||
|
||||
|
||||
|
||||
static PyObject *
|
||||
/* Return a reference to a tuple ARGC elements long. Each element of the
|
||||
tuple is a PyObject converted from the corresponding element of ARGV. */
|
||||
|
||||
static gdbpy_ref<>
|
||||
convert_values_to_python (int argc, struct value **argv)
|
||||
{
|
||||
int i;
|
||||
@ -50,7 +53,7 @@ convert_values_to_python (int argc, struct value **argv)
|
||||
return NULL;
|
||||
PyTuple_SetItem (result.get (), i, elt.release ());
|
||||
}
|
||||
return result.release ();
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Call a Python function object's invoke method. */
|
||||
@ -64,7 +67,7 @@ fnpy_call (struct gdbarch *gdbarch, const struct language_defn *language,
|
||||
gdbpy_enter enter_py (gdbarch, language);
|
||||
struct value *value;
|
||||
gdbpy_ref<> result;
|
||||
gdbpy_ref<> args (convert_values_to_python (argc, argv));
|
||||
gdbpy_ref<> args = convert_values_to_python (argc, argv);
|
||||
|
||||
/* convert_values_to_python can return NULL on error. If we
|
||||
encounter this, do not call the function, but allow the Python ->
|
||||
|
Loading…
Reference in New Issue
Block a user