aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2read.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-11-08 15:26:44 +0000
committerPedro Alves <palves@redhat.com>2016-11-08 15:26:44 +0000
commit322a851675234b3c16be6dd5035b07f5e3410ec7 (patch)
treeb8029de0c076395a62c081cdd247f0f98febc63d /gdb/dwarf2read.c
parent1f45808ead357e8a81dec16b9802a6c369e08426 (diff)
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.
Diffstat (limited to 'gdb/dwarf2read.c')
-rw-r--r--gdb/dwarf2read.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index c070cd7430..6cc79ea30e 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -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);
}
}