summaryrefslogtreecommitdiff
path: root/gdb/guile
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-09-09 10:14:52 -0600
committerTom Tromey <tom@tromey.com>2017-09-11 16:15:11 -0600
commitc6dc63a16299e22fcb5bc13b34cb402a1bfcf6b9 (patch)
treeba6c7f5c359753ab3cc712e8e98d8211b9caecdd /gdb/guile
parentd6b9b80f9483b6c1a3a018c0fcaf813ca098d8af (diff)
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.
Diffstat (limited to 'gdb/guile')
-rw-r--r--gdb/guile/scm-frame.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gdb/guile/scm-frame.c b/gdb/guile/scm-frame.c
index b2af7432a6..594d16e237 100644
--- a/gdb/guile/scm-frame.c
+++ b/gdb/guile/scm-frame.c
@@ -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;