From 6e17c56511104abd605bd2d122104467fc4f0089 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 21 Oct 2017 12:06:22 -0400 Subject: [PATCH] Use std::string in memory_map_parsing_data Replace the fixed-size array with a string. gdb/ChangeLog: * memory-map.c (struct memory_map_parsing_data) : Change type to std::string. (memory_map_start_property): Adjust. (memory_map_end_property): Adjust. --- gdb/ChangeLog | 7 +++++++ gdb/memory-map.c | 17 +++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e4409896bac..ecb73d9ef70 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2017-10-21 Simon Marchi + + * memory-map.c (struct memory_map_parsing_data) : + Change type to std::string. + (memory_map_start_property): Adjust. + (memory_map_end_property): Adjust. + 2017-10-21 Simon Marchi * infrun.h: Include common/byte-vector.h. diff --git a/gdb/memory-map.c b/gdb/memory-map.c index 0b2145649e8..ff053941745 100644 --- a/gdb/memory-map.c +++ b/gdb/memory-map.c @@ -43,10 +43,11 @@ parse_memory_map (const char *memory_map) /* Internal parsing data passed to all XML callbacks. */ struct memory_map_parsing_data - { - VEC(mem_region_s) **memory_map; - char property_name[32]; - }; +{ + VEC(mem_region_s) **memory_map; + + std::string property_name; +}; /* Handle the start of a element. */ @@ -103,7 +104,7 @@ memory_map_start_property (struct gdb_xml_parser *parser, char *name; name = (char *) xml_find_attribute (attributes, "name")->value; - snprintf (data->property_name, sizeof (data->property_name), "%s", name); + data->property_name.assign (name); } /* Handle the end of a element and its value. */ @@ -115,16 +116,16 @@ memory_map_end_property (struct gdb_xml_parser *parser, { struct memory_map_parsing_data *data = (struct memory_map_parsing_data *) user_data; - char *name = data->property_name; - if (strcmp (name, "blocksize") == 0) + if (data->property_name == "blocksize") { struct mem_region *r = VEC_last (mem_region_s, *data->memory_map); r->attrib.blocksize = gdb_xml_parse_ulongest (parser, body_text); } else - gdb_xml_debug (parser, _("Unknown property \"%s\""), name); + gdb_xml_debug (parser, _("Unknown property \"%s\""), + data->property_name.c_str ()); } /* Discard the constructed memory map (if an error occurs). */ -- 2.30.2