From 7bc2c8b83ea82b4315c67e7658af815aed062e73 Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Wed, 9 Nov 2016 13:02:13 +0100 Subject: [PATCH] tui-winsource: Allocate for actual lines only The logic for allocating a TUI source window's content buffer allocates two more lines than needed, because it does not reduce the window height by the highlight box's overhead. However, it does reduce the line width accordingly. This patch makes the height and width calculation consistent and improves the comment. gdb/ChangeLog: * tui/tui-winsource.c (tui_alloc_source_buffer): Subtract highlight box's overhead when calculating the content height. --- gdb/ChangeLog | 5 +++++ gdb/tui/tui-winsource.c | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ca17d849ab8..d6b8b4747ce 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-11-09 Andreas Arnez + + * tui/tui-winsource.c (tui_alloc_source_buffer): Subtract + highlight box's overhead when calculating the content height. + 2016-11-09 Andreas Arnez * tui/tui-disasm.c (tui_set_disassem_content): Fix calculation of diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c index 09080b841af..4a82ae4f438 100644 --- a/gdb/tui/tui-winsource.c +++ b/gdb/tui/tui-winsource.c @@ -604,8 +604,11 @@ tui_alloc_source_buffer (struct tui_win_info *win_info) char *src_line_buf; int i, line_width, max_lines; - max_lines = win_info->generic.height; /* Less the highlight box. */ - line_width = win_info->generic.width - 1; + /* The window width/height includes the highlight box. Determine actual + content dimensions, including string null-terminators. */ + max_lines = win_info->generic.height - 2; + line_width = win_info->generic.width - 2 + 1; + /* * Allocate the buffer for the source lines. Do this only once * since they will be re-used for all source displays. The only -- 2.30.2