mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 17:18:55 +00:00
Use std::string in main_info
This changes main_info to use std::string. It removes some manual memory management.
This commit is contained in:
22
gdb/symtab.c
22
gdb/symtab.c
@@ -104,16 +104,9 @@ static struct block_symbol
|
||||
|
||||
struct main_info
|
||||
{
|
||||
main_info () = default;
|
||||
|
||||
~main_info ()
|
||||
{
|
||||
xfree (name_of_main);
|
||||
}
|
||||
|
||||
/* Name of "main". */
|
||||
|
||||
char *name_of_main = nullptr;
|
||||
std::string name_of_main;
|
||||
|
||||
/* Language of "main". */
|
||||
|
||||
@@ -6172,15 +6165,14 @@ set_main_name (const char *name, enum language lang)
|
||||
{
|
||||
struct main_info *info = get_main_info ();
|
||||
|
||||
if (info->name_of_main != NULL)
|
||||
if (!info->name_of_main.empty ())
|
||||
{
|
||||
xfree (info->name_of_main);
|
||||
info->name_of_main = NULL;
|
||||
info->name_of_main.clear ();
|
||||
info->language_of_main = language_unknown;
|
||||
}
|
||||
if (name != NULL)
|
||||
{
|
||||
info->name_of_main = xstrdup (name);
|
||||
info->name_of_main = name;
|
||||
info->language_of_main = lang;
|
||||
}
|
||||
}
|
||||
@@ -6287,10 +6279,10 @@ main_name ()
|
||||
{
|
||||
struct main_info *info = get_main_info ();
|
||||
|
||||
if (info->name_of_main == NULL)
|
||||
if (info->name_of_main.empty ())
|
||||
find_main_name ();
|
||||
|
||||
return info->name_of_main;
|
||||
return info->name_of_main.c_str ();
|
||||
}
|
||||
|
||||
/* Return the language of the main function. If it is not known,
|
||||
@@ -6301,7 +6293,7 @@ main_language (void)
|
||||
{
|
||||
struct main_info *info = get_main_info ();
|
||||
|
||||
if (info->name_of_main == NULL)
|
||||
if (info->name_of_main.empty ())
|
||||
find_main_name ();
|
||||
|
||||
return info->language_of_main;
|
||||
|
||||
Reference in New Issue
Block a user