[PATCH 39/66] Change more TUI functions to take a tui_source_window_base

Tom Tromey
2019-06-23T23:26:08Z

Several more TUI functions should only be called with a source or
disassembly window. This patch changes these functions so that this
can be caught at compile time.

2019-06-23 Tom Tromey <tom@tromey.com>

* tui/tui-winsource.h (tui_set_exec_info_content)
(tui_show_exec_info_content, tui_erase_exec_info_content)
(tui_clear_exec_info_content, tui_update_exec_info): Change
argument to tui_source_window_base.
* tui/tui-winsource.c (tui_set_exec_info_content)
(tui_show_exec_info_content, tui_erase_exec_info_content)
(tui_clear_exec_info_content, tui_update_exec_info): Change
argument to tui_source_window_base.
---
gdb/ChangeLog | 11 +++++++++++
gdb/tui/tui-winsource.c | 26 ++++++++++----------------
gdb/tui/tui-winsource.h | 10 +++++-----
3 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 2de5c53214e..e55ce40a206 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -483,12 +483,11 @@ tui_update_breakpoint_info (struct tui_win_info *win,
based upon the input window which is either the source or
disassembly window. */
void
-tui_set_exec_info_content (struct tui_win_info *win_info)
+tui_set_exec_info_content (struct tui_source_window_base *win_info)
{
- tui_source_window_base *base = (tui_source_window_base *) win_info;
- if (base->execution_info != NULL)
+ if (win_info->execution_info != NULL)
{
- struct tui_gen_win_info *exec_info_ptr = base->execution_info;
+ struct tui_gen_win_info *exec_info_ptr = win_info->execution_info;

if (exec_info_ptr->content == NULL)
exec_info_ptr->content =
@@ -532,10 +531,9 @@ tui_set_exec_info_content (struct tui_win_info *win_info)

void
-tui_show_exec_info_content (struct tui_win_info *win_info)
+tui_show_exec_info_content (struct tui_source_window_base *win_info)
{
- tui_source_window_base *base = (tui_source_window_base *) win_info;
- struct tui_gen_win_info *exec_info = base->execution_info;
+ struct tui_gen_win_info *exec_info = win_info->execution_info;
int cur_line;

werase (exec_info->handle);
@@ -552,28 +550,24 @@ tui_show_exec_info_content (struct tui_win_info *win_info)

void
-tui_erase_exec_info_content (struct tui_win_info *win_info)
+tui_erase_exec_info_content (struct tui_source_window_base *win_info)
{
- tui_source_window_base *base = (tui_source_window_base *) win_info;
- struct tui_gen_win_info *exec_info = base->execution_info;
+ struct tui_gen_win_info *exec_info = win_info->execution_info;

werase (exec_info->handle);
exec_info->refresh_window ();
}

void
-tui_clear_exec_info_content (struct tui_win_info *win_info)
+tui_clear_exec_info_content (struct tui_source_window_base *win_info)
{
- tui_source_window_base *base = (tui_source_window_base *) win_info;
- base->execution_info->content_in_use = FALSE;
+ win_info->execution_info->content_in_use = FALSE;
tui_erase_exec_info_content (win_info);
-
- return;
}

/* Function to update the execution info window. */
void
-tui_update_exec_info (struct tui_win_info *win_info)
+tui_update_exec_info (struct tui_source_window_base *win_info)
{
tui_set_exec_info_content (win_info);
tui_show_exec_info_content (win_info);
diff --git a/gdb/tui/tui-winsource.h b/gdb/tui/tui-winsource.h
index 3ed461a3157..09a9d5abf4a 100644
--- a/gdb/tui/tui-winsource.h
+++ b/gdb/tui/tui-winsource.h
@@ -53,11 +53,11 @@ extern void tui_update_source_windows_with_line (struct symtab *,
extern void tui_clear_source_content (struct tui_win_info *, int);
extern void tui_erase_source_content (struct tui_win_info *, int);
extern void tui_show_source_content (struct tui_win_info *);
-extern void tui_set_exec_info_content (struct tui_win_info *);
-extern void tui_show_exec_info_content (struct tui_win_info *);
-extern void tui_erase_exec_info_content (struct tui_win_info *);
-extern void tui_clear_exec_info_content (struct tui_win_info *);
-extern void tui_update_exec_info (struct tui_win_info *);
+extern void tui_set_exec_info_content (struct tui_source_window_base *);
+extern void tui_show_exec_info_content (struct tui_source_window_base *);
+extern void tui_erase_exec_info_content (struct tui_source_window_base *);
+extern void tui_clear_exec_info_content (struct tui_source_window_base *);
+extern void tui_update_exec_info (struct tui_source_window_base *);

extern void tui_alloc_source_buffer (struct tui_win_info *);
extern int tui_line_is_displayed (int,
--
2.17.2