mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-23 18:26:47 +08:00
Remove cleanups from find_frame_funname
This changes find_frame_funname to return a unique_xmalloc_ptr and then fixes up the callers. This removes several cleanups. ChangeLog 2017-09-11 Tom Tromey <tom@tromey.com> * ada-lang.c (is_known_support_routine): Update. (ada_unhandled_exception_name_addr_from_raise): Update. * guile/scm-frame.c (gdbscm_frame_name): Update. * python/py-frame.c (frapy_name): Update. (frapy_function): Update. * stack.h (find_frame_funname): Update. * stack.c (find_frame_funname): Return unique_xmalloc_ptr. (print_frame): Update.
This commit is contained in:
@ -119,7 +119,7 @@ static PyObject *
|
||||
frapy_name (PyObject *self, PyObject *args)
|
||||
{
|
||||
struct frame_info *frame;
|
||||
char *name = NULL;
|
||||
gdb::unique_xmalloc_ptr<char> name;
|
||||
enum language lang;
|
||||
PyObject *result;
|
||||
|
||||
@ -127,19 +127,18 @@ frapy_name (PyObject *self, PyObject *args)
|
||||
{
|
||||
FRAPY_REQUIRE_VALID (self, frame);
|
||||
|
||||
find_frame_funname (frame, &name, &lang, NULL);
|
||||
name = find_frame_funname (frame, &lang, NULL);
|
||||
}
|
||||
CATCH (except, RETURN_MASK_ALL)
|
||||
{
|
||||
xfree (name);
|
||||
GDB_PY_HANDLE_EXCEPTION (except);
|
||||
}
|
||||
END_CATCH
|
||||
|
||||
if (name)
|
||||
{
|
||||
result = PyUnicode_Decode (name, strlen (name), host_charset (), NULL);
|
||||
xfree (name);
|
||||
result = PyUnicode_Decode (name.get (), strlen (name.get ()),
|
||||
host_charset (), NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -334,13 +333,12 @@ frapy_function (PyObject *self, PyObject *args)
|
||||
|
||||
TRY
|
||||
{
|
||||
char *funname;
|
||||
enum language funlang;
|
||||
|
||||
FRAPY_REQUIRE_VALID (self, frame);
|
||||
|
||||
find_frame_funname (frame, &funname, &funlang, &sym);
|
||||
xfree (funname);
|
||||
gdb::unique_xmalloc_ptr<char> funname
|
||||
= find_frame_funname (frame, &funlang, &sym);
|
||||
}
|
||||
CATCH (except, RETURN_MASK_ALL)
|
||||
{
|
||||
|
Reference in New Issue
Block a user