diff options
author | Tom Tromey <tom@tromey.com> | 2019-07-23 15:37:18 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-09-20 13:49:05 -0600 |
commit | 2d81b349982daae463bd29a87e962dde6d099392 (patch) | |
tree | 4efcd03ec8aadf449b0efe2a1e5ad52def3021ad /gdb/tui/tui-source.c | |
parent | f14bec587fd0b695bbb8dcfe92169b4dae76245d (diff) | |
download | binutils-gdb-2d81b349982daae463bd29a87e962dde6d099392.tar.gz |
Move "fullname" to tui_source_window
The "fullname" field in tui_source_window_base is only used by one
subclass. This patch moves the field to that subclass, and changes it
to be a unique_xmalloc_ptr.
gdb/ChangeLog
2019-09-20 Tom Tromey <tom@tromey.com>
* tui/tui-winsource.h (struct tui_source_window_base)
<~tui_source_window_base>: Don't declare.
<fullname>: Remove.
* tui/tui-winsource.c (~tui_source_window_base): Remove.
* tui/tui-source.h (struct tui_source_window) <fullname>: New
member.
* tui/tui-source.c (tui_source_window::set_contents): Update.
(tui_source_window::location_matches_p)
(tui_source_window::maybe_update): Update.
Diffstat (limited to 'gdb/tui/tui-source.c')
-rw-r--r-- | gdb/tui/tui-source.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c index c379173018d..f70e053bdb5 100644 --- a/gdb/tui/tui-source.c +++ b/gdb/tui/tui-source.c @@ -155,8 +155,7 @@ tui_source_window::set_contents (struct gdbarch *arch, title = s_filename; - xfree (fullname); - fullname = xstrdup (symtab_to_fullname (s)); + fullname = make_unique_xstrdup (symtab_to_fullname (s)); cur_line = 0; gdbarch = get_objfile_arch (SYMTAB_OBJFILE (s)); @@ -276,7 +275,7 @@ tui_source_window::location_matches_p (struct bp_location *loc, int line_no) return (content[line_no].line_or_addr.loa == LOA_LINE && content[line_no].line_or_addr.u.line_no == loc->line_number && loc->symtab != NULL - && filename_cmp (fullname, + && filename_cmp (fullname.get (), symtab_to_fullname (loc->symtab)) == 0); } @@ -308,7 +307,7 @@ tui_source_window::maybe_update (struct frame_info *fi, symtab_and_line sal, start_line = 1; bool source_already_displayed = (sal.symtab != 0 - && showing_source_p (fullname)); + && showing_source_p (fullname.get ())); struct tui_line_or_address l; |