From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id F12B33858414; Fri, 10 Feb 2023 17:09:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F12B33858414 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676048976; bh=ODinQ2VGRa/45VmiRGfoucrHG4G+bZGzvWS2HM69Ks8=; h=From:To:Subject:Date:From; b=StDzPE/PKyVaJEU8g1OX0jtVK9izs8BAJA4Ugdv4dj9j+dEbp34oo7k6llY9Gm7c8 usp7qjU6PzBvasvHfDdaHlRGg3rb5bC31z0nJPBmh0tlo7cKmGDncmS1QDaSUkbS4v qO6n/jvrJzsIpEXmdeJPqwwU7iz5XBlORFrm6Vq8= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Use std::string in main_info X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 632652850db23bfec2499febe03c9ac4aa0b8dce X-Git-Newrev: 25eb2931f6f19d5ef48d240774bab488f6d52bf1 Message-Id: <20230210170936.F12B33858414@sourceware.org> Date: Fri, 10 Feb 2023 17:09:36 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D25eb2931f6f1= 9d5ef48d240774bab488f6d52bf1 commit 25eb2931f6f19d5ef48d240774bab488f6d52bf1 Author: Tom Tromey Date: Fri Dec 30 11:23:43 2022 -0700 Use std::string in main_info =20 This changes main_info to use std::string. It removes some manual memory management. Diff: --- gdb/symtab.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/gdb/symtab.c b/gdb/symtab.c index 9d6ee388ca2..bd73c521b1a 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -104,16 +104,9 @@ static struct block_symbol =20 struct main_info { - main_info () =3D default; - - ~main_info () - { - xfree (name_of_main); - } - /* Name of "main". */ =20 - char *name_of_main =3D nullptr; + std::string name_of_main; =20 /* Language of "main". */ =20 @@ -6172,15 +6165,14 @@ set_main_name (const char *name, enum language lang) { struct main_info *info =3D get_main_info (); =20 - if (info->name_of_main !=3D NULL) + if (!info->name_of_main.empty ()) { - xfree (info->name_of_main); - info->name_of_main =3D NULL; + info->name_of_main.clear (); info->language_of_main =3D language_unknown; } if (name !=3D NULL) { - info->name_of_main =3D xstrdup (name); + info->name_of_main =3D name; info->language_of_main =3D lang; } } @@ -6287,10 +6279,10 @@ main_name () { struct main_info *info =3D get_main_info (); =20 - if (info->name_of_main =3D=3D NULL) + if (info->name_of_main.empty ()) find_main_name (); =20 - return info->name_of_main; + return info->name_of_main.c_str (); } =20 /* Return the language of the main function. If it is not known, @@ -6301,7 +6293,7 @@ main_language (void) { struct main_info *info =3D get_main_info (); =20 - if (info->name_of_main =3D=3D NULL) + if (info->name_of_main.empty ()) find_main_name (); =20 return info->language_of_main;