Fix PR breakpoints/2080.
[deliverable/binutils-gdb.git] / gdb / tui / tui-regs.c
index c0eab97513c1dd3e7b30e9d55d1afcec8af470ce..14a6f957a5b762fdf08861f768b1032152fef6af 100644 (file)
@@ -1,6 +1,6 @@
 /* TUI display registers in window.
 
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
    Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
@@ -19,8 +19,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
 #include "tui/tui.h"
@@ -148,8 +148,17 @@ void
 tui_show_registers (struct reggroup *group)
 {
   enum tui_status ret = TUI_FAILURE;
-  struct tui_data_info *display_info = &TUI_DATA_WIN->detail.data_display_info;
+  struct tui_data_info *display_info;
+
+  /* Make sure the curses mode is enabled.  */
+  tui_enable ();
+
+  /* Make sure the register window is visible.  If not, select an
+     appropriate layout.  */
+  if (TUI_DATA_WIN == NULL || !TUI_DATA_WIN->generic.is_visible)
+    tui_set_layout_for_display_command (DATA_NAME);
 
+  display_info = &TUI_DATA_WIN->detail.data_display_info;
   if (group == 0)
     group = general_reggroup;
 
@@ -573,8 +582,8 @@ static struct cmd_list_element *tuireglist;
 static void
 tui_reg_command (char *args, int from_tty)
 {
-  printf_unfiltered ("\"tui reg\" must be followed by the name of a "
-                     "tui reg command.\n");
+  printf_unfiltered (_("\"tui reg\" must be followed by the name of a "
+                     "tui reg command.\n"));
   help_list (tuireglist, "tui reg ", -1, gdb_stdout);
 }
 
@@ -586,35 +595,35 @@ _initialize_tui_regs (void)
   tuicmd = tui_get_cmd_list ();
 
   add_prefix_cmd ("reg", class_tui, tui_reg_command,
-                  "TUI commands to control the register window.",
+                  _("TUI commands to control the register window."),
                   &tuireglist, "tui reg ", 0,
                   tuicmd);
 
   add_cmd ("float", class_tui, tui_reg_float_command,
-           "Display only floating point registers\n",
+           _("Display only floating point registers."),
            &tuireglist);
   add_cmd ("general", class_tui, tui_reg_general_command,
-           "Display only general registers\n",
+           _("Display only general registers."),
            &tuireglist);
   add_cmd ("system", class_tui, tui_reg_system_command,
-           "Display only system registers\n",
+           _("Display only system registers."),
            &tuireglist);
   add_cmd ("next", class_tui, tui_reg_next_command,
-           "Display next register group\n",
+           _("Display next register group."),
            &tuireglist);
 
   if (xdb_commands)
     {
       add_com ("fr", class_tui, tui_reg_float_command,
-              "Display only floating point registers\n");
+              _("Display only floating point registers\n"));
       add_com ("gr", class_tui, tui_reg_general_command,
-              "Display only general registers\n");
+              _("Display only general registers\n"));
       add_com ("sr", class_tui, tui_reg_system_command,
-              "Display only special registers\n");
+              _("Display only special registers\n"));
       add_com ("+r", class_tui, tui_scroll_regs_forward_command,
-              "Scroll the registers window forward\n");
+              _("Scroll the registers window forward\n"));
       add_com ("-r", class_tui, tui_scroll_regs_backward_command,
-              "Scroll the register window backward\n");
+              _("Scroll the register window backward\n"));
     }
 }
 
@@ -660,7 +669,7 @@ tui_register_format (struct gdbarch *gdbarch, struct frame_info *frame,
   cleanups = make_cleanup (tui_restore_gdbout, (void*) old_stdout);
   if (TYPE_VECTOR (type) != 0 && 0)
     {
-      char buf[MAX_REGISTER_SIZE];
+      gdb_byte buf[MAX_REGISTER_SIZE];
       int len;
 
       len = register_size (current_gdbarch, regnum);
@@ -700,7 +709,7 @@ tui_get_register (struct gdbarch *gdbarch, struct frame_info *frame,
     *changedp = FALSE;
   if (target_has_registers)
     {
-      char buf[MAX_REGISTER_SIZE];
+      gdb_byte buf[MAX_REGISTER_SIZE];
 
       get_frame_register (frame, regnum, buf);
       /* NOTE: cagney/2003-03-13: This is bogus.  It is refering to
This page took 0.035263 seconds and 4 git commands to generate.