gdb/
authorYao Qi <yao@codesourcery.com>
Sat, 8 Jun 2013 00:21:42 +0000 (00:21 +0000)
committerYao Qi <yao@codesourcery.com>
Sat, 8 Jun 2013 00:21:42 +0000 (00:21 +0000)
* mi/mi-main.c (get_register): Remove declaration.
(output_register): Declare.
(mi_cmd_data_list_register_values): Remove local variable
'tuple_cleanup'.  Move some code into output_register.
(get_register): Renamed to ...
(output_register): ... this.  Output the register's
"number" ui_out tuple here.

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

index f13c51399dccb591de530a460e9810183d4b43fd..493da1d6bc2f04f73bae2e2b86e79b1424d4b4a7 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-08  Pedro Alves  <pedro@codesourcery.com>
+           Yao Qi  <yao@codesourcery.com>
+
+       * mi/mi-main.c (get_register): Remove declaration.
+       (output_register): Declare.
+       (mi_cmd_data_list_register_values): Remove local variable
+       'tuple_cleanup'.  Move some code into output_register.
+       (get_register): Renamed to ...
+       (output_register): ... this.  Output the register's
+       "number" ui_out tuple here.
+
 2013-06-07  Pedro Alves  <palves@redhat.com>
 
        * darwin-nat.c: Fix formating in copyright header.
index f69cd8d62d75e2082c545bccf1b2e7e2da610b83..956fc5cc58040fc4812dfe8c12785be3dbef9a6a 100644 (file)
@@ -103,7 +103,7 @@ static void mi_execute_async_cli_command (char *cli_command,
                                          char **argv, int argc);
 static int register_changed_p (int regnum, struct regcache *,
                               struct regcache *);
-static void get_register (struct frame_info *, int regnum, int format);
+static void output_register (struct frame_info *, int regnum, int format);
 
 /* Command implementations.  FIXME: Is this libgdb?  No.  This is the MI
    layer that calls libgdb.  Any operation used in the below should be
@@ -1072,7 +1072,7 @@ mi_cmd_data_list_register_values (char *command, char **argv, int argc)
   struct gdbarch *gdbarch;
   int regnum, numregs, format;
   int i;
-  struct cleanup *list_cleanup, *tuple_cleanup;
+  struct cleanup *list_cleanup;
 
   /* Note that the test for a valid register must include checking the
      gdbarch_register_name because gdbarch_num_regs may be allocated
@@ -1103,10 +1103,8 @@ mi_cmd_data_list_register_values (char *command, char **argv, int argc)
          if (gdbarch_register_name (gdbarch, regnum) == NULL
              || *(gdbarch_register_name (gdbarch, regnum)) == '\0')
            continue;
-         tuple_cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-         ui_out_field_int (uiout, "number", regnum);
-         get_register (frame, regnum, format);
-         do_cleanups (tuple_cleanup);
+
+         output_register (frame, regnum, format);
        }
     }
 
@@ -1119,26 +1117,25 @@ mi_cmd_data_list_register_values (char *command, char **argv, int argc)
          && regnum < numregs
          && gdbarch_register_name (gdbarch, regnum) != NULL
          && *gdbarch_register_name (gdbarch, regnum) != '\000')
-       {
-         tuple_cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
-         ui_out_field_int (uiout, "number", regnum);
-         get_register (frame, regnum, format);
-         do_cleanups (tuple_cleanup);
-       }
+       output_register (frame, regnum, format);
       else
        error (_("bad register number"));
     }
   do_cleanups (list_cleanup);
 }
 
-/* Output one register's contents in the desired format.  */
+/* Output register REGNUM's contents in the desired FORMAT.  */
 
 static void
-get_register (struct frame_info *frame, int regnum, int format)
+output_register (struct frame_info *frame, int regnum, int format)
 {
   struct gdbarch *gdbarch = get_frame_arch (frame);
   struct ui_out *uiout = current_uiout;
   struct value *val;
+  struct cleanup *tuple_cleanup;
+
+  tuple_cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
+  ui_out_field_int (uiout, "number", regnum);
 
   if (format == 'N')
     format = 0;
@@ -1184,6 +1181,8 @@ get_register (struct frame_info *frame, int regnum, int format)
       ui_out_field_stream (uiout, "value", stb);
       do_cleanups (old_chain);
     }
+
+  do_cleanups (tuple_cleanup);
 }
 
 /* Write given values into registers. The registers and values are