* source.c (print_source_lines_base): Make a local copy of
	symtab_to_fullname.
This commit is contained in:
Jan Kratochvil 2013-03-14 14:42:48 +00:00
parent 23eb71e428
commit 8f1b8b820d
2 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2013-03-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* source.c (print_source_lines_base): Make a local copy of
symtab_to_fullname.
2013-03-14 Hui Zhu <hui_zhu@mentor.com>
Jan Kratochvil <jan.kratochvil@redhat.com>

View File

@ -1355,11 +1355,18 @@ print_source_lines_base (struct symtab *s, int line, int stopline,
symtab_to_filename_for_display (s));
if (ui_out_is_mi_like_p (uiout)
|| !ui_out_test_flags (uiout, ui_source_list))
{
const char *fullname = symtab_to_fullname (s);
{
const char *s_fullname = symtab_to_fullname (s);
char *local_fullname;
ui_out_field_string (uiout, "fullname", fullname);
}
/* ui_out_field_string may free S_FULLNAME by calling
open_source_file for it again. See e.g.,
tui_field_string->tui_show_source. */
local_fullname = alloca (strlen (s_fullname) + 1);
strcpy (local_fullname, s_fullname);
ui_out_field_string (uiout, "fullname", local_fullname);
}
ui_out_text (uiout, "\n");
}