Use unique_xmalloc_ptr in interp

This changes interp::m_name to be a unique_xmalloc_ptr, removing some
manual memory management.  It also cleans up the initialization of the
'inited' member, and moves the 'private:' and 'public:' keywords to
their proper spots.
This commit is contained in:
Tom Tromey
2022-06-17 09:31:44 -06:00
parent 90b7a5df15
commit 3af607d998
2 changed files with 6 additions and 8 deletions

View File

@@ -79,14 +79,12 @@ static struct interp *interp_lookup_existing (struct ui *ui,
const char *name);
interp::interp (const char *name)
: m_name (xstrdup (name))
: m_name (make_unique_xstrdup (name))
{
this->inited = false;
}
interp::~interp ()
{
xfree (m_name);
}
/* An interpreter factory. Maps an interpreter name to the factory

View File

@@ -78,20 +78,20 @@ public:
const char *name () const
{
return m_name;
return m_name.get ();
}
/* This is the name in "-i=" and "set interpreter". */
private:
char *m_name;
/* This is the name in "-i=" and "set interpreter". */
gdb::unique_xmalloc_ptr<char> m_name;
public:
/* Interpreters are stored in a linked list, this is the next
one... */
public:
struct interp *next;
/* Has the init method been run? */
bool inited;
bool inited = false;
};
/* Look up the interpreter for NAME, creating one if none exists yet.