Remove the last cleanup from regcache.c
authorTom Tromey <tom@tromey.com>
Sat, 23 Sep 2017 21:54:36 +0000 (15:54 -0600)
committerTom Tromey <tom@tromey.com>
Tue, 26 Sep 2017 01:54:09 +0000 (19:54 -0600)
This removes the last cleanup from regcache.c by changing one function
to use std::string.

gdb/ChangeLog
2017-09-25  Tom Tromey  <tom@tromey.com>

* regcache.c (regcache::dump): Use string_printf.

gdb/ChangeLog
gdb/regcache.c

index 2fb2af1194c60a1fe7b2590c1b5a3936119e6df3..0b9aea224d068ebc2f684392b940aac014d2bdfa 100644 (file)
@@ -1,3 +1,7 @@
+2017-09-25  Tom Tromey  <tom@tromey.com>
+
+       * regcache.c (regcache::dump): Use string_printf.
+
 2017-09-25  Tom Tromey  <tom@tromey.com>
 
        * regcache.c (class regcache_invalidator): New.
index 3dae6f726a43f9b9ea08db5b380ddf4a0b87dcfb..96a494719fd529a305d4f54394cd4a027bb0ed24 100644 (file)
@@ -1350,7 +1350,6 @@ reg_flush_command (char *command, int from_tty)
 void
 regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump)
 {
-  struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
   struct gdbarch *gdbarch = m_descr->gdbarch;
   int regnum;
   int footnote_nr = 0;
@@ -1442,6 +1441,7 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump)
       /* Type.  */
       {
        const char *t;
+       std::string name_holder;
 
        if (regnum < 0)
          t = "Type";
@@ -1452,13 +1452,11 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump)
            t = TYPE_NAME (register_type (arch (), regnum));
            if (t == NULL)
              {
-               char *n;
-
                if (!footnote_register_type_name_null)
                  footnote_register_type_name_null = ++footnote_nr;
-               n = xstrprintf ("*%d", footnote_register_type_name_null);
-               make_cleanup (xfree, n);
-               t = n;
+               name_holder = string_printf ("*%d",
+                                            footnote_register_type_name_null);
+               t = name_holder.c_str ();
              }
            /* Chop a leading builtin_type.  */
            if (startswith (t, blt))
@@ -1592,7 +1590,6 @@ regcache::dump (ui_file *file, enum regcache_dump_what what_to_dump)
     fprintf_unfiltered (file, 
                        "*%d: Register type's name NULL.\n",
                        footnote_register_type_name_null);
-  do_cleanups (cleanups);
 }
 
 static void