[PATCH 3/8] Use std::string in mdebugread.c

Tom Tromey tom@tromey.com
Sun Sep 23 04:08:00 GMT 2018


This changes a couple of spots in mdebugread to use std::string rather
than manual management.  This is simpler, and also avoids shadowing by
renaming the variable in question.

gdb/ChangeLog
2018-09-22  Tom Tromey  <tom@tromey.com>

	* mdebugread.c (parse_partial_symbols): Use std::string.
---
 gdb/ChangeLog    |  4 ++++
 gdb/mdebugread.c | 20 ++++++--------------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 4c433da99f..d959a09ee7 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -3197,13 +3197,9 @@ parse_partial_symbols (minimal_symbol_reader &reader,
 		      case 'f':
 			if (! pst)
 			  {
-			    int name_len = p - namestring;
-			    char *name = (char *) xmalloc (name_len + 1);
-
-			    memcpy (name, namestring, name_len);
-			    name[name_len] = '\0';
-			    function_outside_compilation_unit_complaint (name);
-			    xfree (name);
+			    std::string copy (namestring, p);
+			    function_outside_compilation_unit_complaint
+			      (copy.c_str ());
 			  }
 			add_psymbol_to_list (namestring, p - namestring, 1,
 					     VAR_DOMAIN, LOC_BLOCK,
@@ -3220,13 +3216,9 @@ parse_partial_symbols (minimal_symbol_reader &reader,
 		      case 'F':
 			if (! pst)
 			  {
-			    int name_len = p - namestring;
-			    char *name = (char *) xmalloc (name_len + 1);
-
-			    memcpy (name, namestring, name_len);
-			    name[name_len] = '\0';
-			    function_outside_compilation_unit_complaint (name);
-			    xfree (name);
+			    std::string copy (namestring, p);
+			    function_outside_compilation_unit_complaint
+			      (copy.c_str ());
 			  }
 			add_psymbol_to_list (namestring, p - namestring, 1,
 					     VAR_DOMAIN, LOC_BLOCK,
-- 
2.17.1



More information about the Gdb-patches mailing list