From 456e800a63def18484f69a51f59c2338a5cc4568 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 31 Oct 2019 10:46:18 -0600 Subject: [PATCH] Use std::string in dwarf2read.c This replaces two instances of manual string management in dwarf2read.c with std::string. gdb/ChangeLog 2020-01-08 Tom Tromey * dwarf2read.c (parse_macro_definition): Use std::string. (parse_macro_definition): Likewise. Change-Id: Iec437100105484aa4a116fb5d651d7ed52ee9d81 --- gdb/ChangeLog | 5 +++++ gdb/dwarf2read.c | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 118d6d7a2b..9733a10622 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-01-08 Tom Tromey + + * dwarf2read.c (parse_macro_definition): Use std::string. + (parse_macro_definition): Likewise. + 2020-01-08 Tom Tromey * dwarf2read.c (abbrev_table_read_table): Use std::vector. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 5a194f4e27..40af0b975b 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -24570,7 +24570,7 @@ parse_macro_definition (struct macro_source_file *file, int line, { /* It's an object-like macro. */ int name_len = p - body; - char *name = savestring (body, name_len); + std::string name (body, name_len); const char *replacement; if (*p == ' ') @@ -24581,14 +24581,12 @@ parse_macro_definition (struct macro_source_file *file, int line, replacement = body + name_len; } - macro_define_object (file, line, name, replacement); - - xfree (name); + macro_define_object (file, line, name.c_str (), replacement); } else if (*p == '(') { /* It's a function-like macro. */ - char *name = savestring (body, p - body); + std::string name (body, p - body); int argc = 0; int argv_size = 1; char **argv = XNEWVEC (char *, argv_size); @@ -24637,14 +24635,14 @@ parse_macro_definition (struct macro_source_file *file, int line, if (*p == ' ') /* Perfectly formed definition, no complaints. */ - macro_define_function (file, line, name, + macro_define_function (file, line, name.c_str (), argc, (const char **) argv, p + 1); else if (*p == '\0') { /* Complain, but do define it. */ dwarf2_macro_malformed_definition_complaint (body); - macro_define_function (file, line, name, + macro_define_function (file, line, name.c_str (), argc, (const char **) argv, p); } @@ -24656,7 +24654,6 @@ parse_macro_definition (struct macro_source_file *file, int line, /* Just complain. */ dwarf2_macro_malformed_definition_complaint (body); - xfree (name); { int i; -- 2.34.1