[RFA,10/22] Remove some cleanups in MI

Message ID 1474949330-4307-11-git-send-email-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey Sept. 27, 2016, 4:08 a.m. UTC
  This patch removes a couple of cleanups from MI.

2016-09-26  Tom Tromey  <tom@tromey.com>

	* mi/mi-main.c (mi_cmd_data_read_memory): Use std::vector.  Remove
	some cleanups.
---
 gdb/ChangeLog    |  5 +++++
 gdb/mi/mi-main.c | 11 ++++-------
 2 files changed, 9 insertions(+), 7 deletions(-)
  

Comments

Pedro Alves Oct. 6, 2016, 1:41 a.m. UTC | #1
On 09/27/2016 05:08 AM, Tom Tromey wrote:
> This patch removes a couple of cleanups from MI.
> 
> 2016-09-26  Tom Tromey  <tom@tromey.com>
> 
> 	* mi/mi-main.c (mi_cmd_data_read_memory): Use std::vector.  Remove
> 	some cleanups.

LGTM.

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 954d658..704de48 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@ 
 2016-09-26  Tom Tromey  <tom@tromey.com>
 
+	* mi/mi-main.c (mi_cmd_data_read_memory): Use std::vector.  Remove
+	some cleanups.
+
+2016-09-26  Tom Tromey  <tom@tromey.com>
+
 	* tui/tui-interp.c (tui_on_normal_stop, tui_on_signal_received)
 	(tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
 	(tui_on_no_history): Update.
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index c6c7067..50d82f1 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -56,6 +56,7 @@ 
 
 #include <ctype.h>
 #include "gdb_sys_time.h"
+#include <vector>
 
 #if defined HAVE_SYS_RESOURCE_H
 #include <sys/resource.h>
@@ -1403,7 +1404,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;
@@ -1411,7 +1411,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;
@@ -1496,13 +1495,12 @@  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);
+  std::vector<gdb_byte> mbuf (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.data (),
 			  addr, total_bytes);
   if (nr_bytes <= 0)
     error (_("Unable to read memory."));
@@ -1556,7 +1554,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);
 	      }
@@ -1583,7 +1581,6 @@  mi_cmd_data_read_memory (char *command, char **argv, int argc)
       }
     do_cleanups (cleanup_stream);
   }
-  do_cleanups (cleanups);
 }
 
 void