diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-09-10 12:05:22 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-10-25 12:20:18 +0100 |
commit | b352ceb6b4fc9f026944d307704076d1e6894de9 (patch) | |
tree | 4898f1ba39b611a7fb9b609ef042c03e44848759 /gdb | |
parent | 50db9ef4c014d28dd64b2d660b043a40224a1a27 (diff) | |
download | gdb-b352ceb6b4fc9f026944d307704076d1e6894de9.zip gdb-b352ceb6b4fc9f026944d307704076d1e6894de9.tar.gz gdb-b352ceb6b4fc9f026944d307704076d1e6894de9.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/python/py-function.c | 9 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6ab2ec8..61dc039 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 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<>. (cmdpy_completer_handle_brkchars): Adjust. (cmdpy_completer): Adjust. diff --git a/gdb/python/py-function.c b/gdb/python/py-function.c index 1900f0f..cf5e68a 100644 --- a/gdb/python/py-function.c +++ b/gdb/python/py-function.c @@ -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 -> |