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:
parent
d6b9b80f94
commit
c6dc63a162
6 changed files with 49 additions and 55 deletions
|
@ -418,7 +418,7 @@ static SCM
|
|||
gdbscm_frame_name (SCM self)
|
||||
{
|
||||
frame_smob *f_smob;
|
||||
char *name = NULL;
|
||||
gdb::unique_xmalloc_ptr<char> name;
|
||||
enum language lang = language_minimal;
|
||||
struct frame_info *frame = NULL;
|
||||
SCM result;
|
||||
|
@ -429,11 +429,10 @@ gdbscm_frame_name (SCM self)
|
|||
{
|
||||
frame = frscm_frame_smob_to_frame (f_smob);
|
||||
if (frame != NULL)
|
||||
find_frame_funname (frame, &name, &lang, NULL);
|
||||
name = find_frame_funname (frame, &lang, NULL);
|
||||
}
|
||||
CATCH (except, RETURN_MASK_ALL)
|
||||
{
|
||||
xfree (name);
|
||||
GDBSCM_HANDLE_GDB_EXCEPTION (except);
|
||||
}
|
||||
END_CATCH
|
||||
|
@ -445,10 +444,7 @@ gdbscm_frame_name (SCM self)
|
|||
}
|
||||
|
||||
if (name != NULL)
|
||||
{
|
||||
result = gdbscm_scm_from_c_string (name);
|
||||
xfree (name);
|
||||
}
|
||||
result = gdbscm_scm_from_c_string (name.get ());
|
||||
else
|
||||
result = SCM_BOOL_F;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue