aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tui')
-rw-r--r--gdb/tui/tui-regs.c101
1 files changed, 48 insertions, 53 deletions
diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c
index b3c7ce6..9ea6e72 100644
--- a/gdb/tui/tui-regs.c
+++ b/gdb/tui/tui-regs.c
@@ -49,10 +49,55 @@ static void tui_show_register_group (tui_data_window *win_info,
struct frame_info *frame,
int refresh_values_only);
-static void tui_get_register (struct frame_info *frame,
- struct tui_data_item_window *data,
- int regnum, bool *changedp);
+/* Get the register from the frame and return a printable
+ representation of it. */
+
+static char *
+tui_register_format (struct frame_info *frame, int regnum)
+{
+ struct gdbarch *gdbarch = get_frame_arch (frame);
+ string_file stream;
+
+ scoped_restore save_pagination
+ = make_scoped_restore (&pagination_enabled, 0);
+ scoped_restore save_stdout
+ = make_scoped_restore (&gdb_stdout, &stream);
+
+ gdbarch_print_registers_info (gdbarch, &stream, frame, regnum, 1);
+
+ /* Remove the possible \n. */
+ std::string &str = stream.string ();
+ if (!str.empty () && str.back () == '\n')
+ str.resize (str.size () - 1);
+
+ /* Expand tabs into spaces, since ncurses on MS-Windows doesn't. */
+ return tui_expand_tabs (str.c_str (), 0);
+}
+
+/* Get the register value from the given frame and format it for the
+ display. When changep is set, check if the new register value has
+ changed with respect to the previous call. */
+static void
+tui_get_register (struct frame_info *frame,
+ struct tui_data_item_window *data,
+ int regnum, bool *changedp)
+{
+ if (changedp)
+ *changedp = false;
+ if (target_has_registers)
+ {
+ char *prev_content = data->content;
+
+ data->content = tui_register_format (frame, regnum);
+
+ if (changedp != NULL
+ && strcmp (prev_content, data->content) != 0)
+ *changedp = true;
+
+ xfree (prev_content);
+ }
+}
/* See tui-regs.h. */
@@ -739,56 +784,6 @@ tui_reggroup_completer (struct cmd_list_element *ignore,
}
}
-/* Get the register from the frame and return a printable
- representation of it. */
-
-static char *
-tui_register_format (struct frame_info *frame, int regnum)
-{
- struct gdbarch *gdbarch = get_frame_arch (frame);
-
- string_file stream;
-
- scoped_restore save_pagination
- = make_scoped_restore (&pagination_enabled, 0);
- scoped_restore save_stdout
- = make_scoped_restore (&gdb_stdout, &stream);
-
- gdbarch_print_registers_info (gdbarch, &stream, frame, regnum, 1);
-
- /* Remove the possible \n. */
- std::string &str = stream.string ();
- if (!str.empty () && str.back () == '\n')
- str.resize (str.size () - 1);
-
- /* Expand tabs into spaces, since ncurses on MS-Windows doesn't. */
- return tui_expand_tabs (str.c_str (), 0);
-}
-
-/* Get the register value from the given frame and format it for the
- display. When changep is set, check if the new register value has
- changed with respect to the previous call. */
-static void
-tui_get_register (struct frame_info *frame,
- struct tui_data_item_window *data,
- int regnum, bool *changedp)
-{
- if (changedp)
- *changedp = false;
- if (target_has_registers)
- {
- char *prev_content = data->content;
-
- data->content = tui_register_format (frame, regnum);
-
- if (changedp != NULL
- && strcmp (prev_content, data->content) != 0)
- *changedp = true;
-
- xfree (prev_content);
- }
-}
-
void
_initialize_tui_regs (void)
{