Use ui_file_as_string in dwarf2_compute_name

gdb/ChangeLog:
2016-11-08  Pedro Alves  <palves@redhat.com>

	* dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
	std::string.
This commit is contained in:
Pedro Alves 2016-11-08 15:26:44 +00:00
parent 1f45808ead
commit 322a851675
2 changed files with 10 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2016-11-08 Pedro Alves <palves@redhat.com>
* dwarf2read.c (dwarf2_compute_name): Use ui_file_as_string and
std::string.
2016-11-08 Pedro Alves <palves@redhat.com>
* mi/mi-main.c (print_variable_or_computed): Constify 'expression'

View File

@ -8487,7 +8487,6 @@ dwarf2_compute_name (const char *name,
long length;
const char *prefix;
struct ui_file *buf;
char *intermediate_name;
const char *canonical_name = NULL;
prefix = determine_prefix (die, cu);
@ -8656,26 +8655,24 @@ dwarf2_compute_name (const char *name,
}
}
intermediate_name = ui_file_xstrdup (buf, &length);
std::string intermediate_name = ui_file_as_string (buf);
ui_file_delete (buf);
if (cu->language == language_cplus)
canonical_name
= dwarf2_canonicalize_name (intermediate_name, cu,
= dwarf2_canonicalize_name (intermediate_name.c_str (), cu,
&objfile->per_bfd->storage_obstack);
/* If we only computed INTERMEDIATE_NAME, or if
INTERMEDIATE_NAME is already canonical, then we need to
copy it to the appropriate obstack. */
if (canonical_name == NULL || canonical_name == intermediate_name)
if (canonical_name == NULL || canonical_name == intermediate_name.c_str ())
name = ((const char *)
obstack_copy0 (&objfile->per_bfd->storage_obstack,
intermediate_name,
strlen (intermediate_name)));
intermediate_name.c_str (),
intermediate_name.length ()));
else
name = canonical_name;
xfree (intermediate_name);
}
}