[PATCH 2/6] Remove tui_default_win_viewport_height
Tom Tromey
tom@tromey.com
Wed Oct 2 23:22:00 GMT 2019
tui_default_win_viewport_height was only called from a single spot,
for a single type of window. This patch removes the function and
moves the logic into the sole caller.
gdb/ChangeLog
2019-10-02 Tom Tromey <tom@tromey.com>
* tui/tui-disasm.c (tui_get_low_disassembly_address): Compute
window height directly.
* tui/tui-layout.h (tui_default_win_viewport_height): Don't
declare.
* tui/tui-layout.c (tui_default_win_height): Remove.
(tui_default_win_viewport_height): Remove.
---
gdb/ChangeLog | 9 +++++++
gdb/tui/tui-disasm.c | 10 +++++++-
gdb/tui/tui-layout.c | 60 --------------------------------------------
gdb/tui/tui-layout.h | 2 --
4 files changed, 18 insertions(+), 63 deletions(-)
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index 51616bcf874..33a3ba12d47 100644
--- a/gdb/tui/tui-disasm.c
+++ b/gdb/tui/tui-disasm.c
@@ -28,6 +28,7 @@
#include "source.h"
#include "disasm.h"
#include "tui/tui.h"
+#include "tui/tui-command.h"
#include "tui/tui-data.h"
#include "tui/tui-win.h"
#include "tui/tui-layout.h"
@@ -325,7 +326,14 @@ tui_get_low_disassembly_address (struct gdbarch *gdbarch,
/* Determine where to start the disassembly so that the pc is about
in the middle of the viewport. */
- pos = tui_default_win_viewport_height (DISASSEM_WIN, DISASSEM_COMMAND) / 2;
+ if (tui_win_list[DISASSEM_WIN] != NULL)
+ pos = tui_win_list[DISASSEM_WIN]->height;
+ else if (TUI_CMD_WIN == NULL)
+ pos = tui_term_height () / 2 - 2;
+ else
+ pos = tui_term_height () - TUI_CMD_WIN->height - 2;
+ pos = (pos - 2) / 2;
+
pc = tui_find_disassembly_address (gdbarch, pc, -pos);
if (pc < low)
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 7aa670ec69d..ccc750e1db4 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -233,66 +233,6 @@ tui_add_win_to_layout (enum tui_win_type type)
}
}
-
-/* Answer the height of a window. If it hasn't been created yet,
- answer what the height of a window would be based upon its type and
- the layout. */
-static int
-tui_default_win_height (enum tui_win_type type,
- enum tui_layout_type layout)
-{
- int h;
-
- if (tui_win_list[type] != NULL)
- h = tui_win_list[type]->height;
- else
- {
- switch (layout)
- {
- case SRC_COMMAND:
- case DISASSEM_COMMAND:
- if (TUI_CMD_WIN == NULL)
- h = tui_term_height () / 2;
- else
- h = tui_term_height () - TUI_CMD_WIN->height;
- break;
- case SRC_DISASSEM_COMMAND:
- case SRC_DATA_COMMAND:
- case DISASSEM_DATA_COMMAND:
- if (TUI_CMD_WIN == NULL)
- h = tui_term_height () / 3;
- else
- h = (tui_term_height () - TUI_CMD_WIN->height) / 2;
- break;
- default:
- h = 0;
- break;
- }
- }
-
- return h;
-}
-
-
-/* Answer the height of a window. If it hasn't been created yet,
- answer what the height of a window would be based upon its type and
- the layout. */
-int
-tui_default_win_viewport_height (enum tui_win_type type,
- enum tui_layout_type layout)
-{
- int h;
-
- h = tui_default_win_height (type, layout);
-
- if (type == CMD_WIN)
- h -= 1;
- else
- h -= 2;
-
- return h;
-}
-
/* Complete possible layout names. TEXT is the complete text entered so
far, WORD is the word currently being completed. */
diff --git a/gdb/tui/tui-layout.h b/gdb/tui/tui-layout.h
index a7e1e908983..23f05f34aa2 100644
--- a/gdb/tui/tui-layout.h
+++ b/gdb/tui/tui-layout.h
@@ -26,8 +26,6 @@
#include "tui/tui-data.h"
extern void tui_add_win_to_layout (enum tui_win_type);
-extern int tui_default_win_viewport_height (enum tui_win_type,
- enum tui_layout_type);
extern void tui_set_layout (enum tui_layout_type);
#endif /* TUI_TUI_LAYOUT_H */
--
2.17.2
More information about the Gdb-patches
mailing list