mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 03:29:47 +08:00
Minor rearrangement in tui-regs.c
This moves a couple of functions earlier in tui-regs.c. Previously they were in the "command" section of the file, but really they belong in the "window implementation" section. gdb/ChangeLog 2019-08-20 Tom Tromey <tom@tromey.com> * tui/tui-regs.c (tui_register_format, tui_get_register): Move earlier.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2019-08-20 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* tui/tui-regs.c (tui_register_format, tui_get_register): Move
|
||||||
|
earlier.
|
||||||
|
|
||||||
2019-08-20 Tom Tromey <tom@tromey.com>
|
2019-08-20 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-regs.c (tui_reg_command): Remove NULL check.
|
* tui/tui-regs.c (tui_reg_command): Remove NULL check.
|
||||||
|
@ -49,10 +49,55 @@ static void tui_show_register_group (tui_data_window *win_info,
|
|||||||
struct frame_info *frame,
|
struct frame_info *frame,
|
||||||
int refresh_values_only);
|
int refresh_values_only);
|
||||||
|
|
||||||
static void tui_get_register (struct frame_info *frame,
|
/* Get the register from the frame and return a printable
|
||||||
struct tui_data_item_window *data,
|
representation of it. */
|
||||||
int regnum, bool *changedp);
|
|
||||||
|
|
||||||
|
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. */
|
/* 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
|
void
|
||||||
_initialize_tui_regs (void)
|
_initialize_tui_regs (void)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user