Remove some cleanups in MI
authorTom Tromey <tom@tromey.com>
Sun, 25 Sep 2016 02:56:12 +0000 (20:56 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 21 Oct 2016 20:17:34 +0000 (14:17 -0600)
This patch removes a couple of cleanups from MI by using
gdb::unique_ptr.

2016-10-21  Tom Tromey  <tom@tromey.com>

* mi/mi-main.c (mi_cmd_data_read_memory): Use gdb::unique_ptr.
Remove some cleanups.

gdb/ChangeLog
gdb/mi/mi-main.c

index 02e917d72f741f3bb23b2aea2843732ca4ade6da..88afc37f81aa98a941fda813e3f6e915696ef3ba 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-21  Tom Tromey  <tom@tromey.com>
+
+       * mi/mi-main.c (mi_cmd_data_read_memory): Use gdb::unique_ptr.
+       Remove some cleanups.
+
 2016-10-21  Tom Tromey  <tom@tromey.com>
 
        * tui/tui-interp.c (tui_on_normal_stop, tui_on_signal_received)
index 1bc8241db0e9b3276e4c5d40efadf59426d06421..3b071affc6df13ef669daf614cb5580f143122dd 100644 (file)
@@ -1416,7 +1416,6 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
 {
   struct gdbarch *gdbarch = get_current_arch ();
   struct ui_out *uiout = current_uiout;
-  struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
   CORE_ADDR addr;
   long total_bytes, nr_cols, nr_rows;
   char word_format;
@@ -1424,7 +1423,6 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
   long word_size;
   char word_asize;
   char aschar;
-  gdb_byte *mbuf;
   int nr_bytes;
   long offset = 0;
   int oind = 0;
@@ -1509,13 +1507,13 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
 
   /* Create a buffer and read it in.  */
   total_bytes = word_size * nr_rows * nr_cols;
-  mbuf = XCNEWVEC (gdb_byte, total_bytes);
-  make_cleanup (xfree, mbuf);
+
+  gdb::unique_ptr<gdb_byte[]> mbuf (new gdb_byte[total_bytes]);
 
   /* Dispatch memory reads to the topmost target, not the flattened
      current_target.  */
   nr_bytes = target_read (current_target.beneath,
-                         TARGET_OBJECT_MEMORY, NULL, mbuf,
+                         TARGET_OBJECT_MEMORY, NULL, mbuf.get (),
                          addr, total_bytes);
   if (nr_bytes <= 0)
     error (_("Unable to read memory."));
@@ -1569,7 +1567,7 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
            else
              {
                ui_file_rewind (stream);
-               print_scalar_formatted (mbuf + col_byte, word_type, &opts,
+               print_scalar_formatted (&mbuf[col_byte], word_type, &opts,
                                        word_asize, stream);
                ui_out_field_stream (uiout, NULL, stream);
              }
@@ -1596,7 +1594,6 @@ mi_cmd_data_read_memory (char *command, char **argv, int argc)
       }
     do_cleanups (cleanup_stream);
   }
-  do_cleanups (cleanups);
 }
 
 void
This page took 0.030094 seconds and 4 git commands to generate.