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.



diff --git a/gdb/interps.c b/gdb/interps.c
index 44002ff..0c440e7 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -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
diff --git a/gdb/interps.h b/gdb/interps.h
index 330c1ba..e393b08 100644
--- a/gdb/interps.h
+++ b/gdb/interps.h
@@ -78,20 +78,20 @@ class interp
 
   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.