aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.vnet.ibm.com>2016-11-09 13:02:13 +0100
committerAndreas Arnez <arnez@linux.vnet.ibm.com>2016-11-09 13:02:13 +0100
commit7bc2c8b83ea82b4315c67e7658af815aed062e73 (patch)
treef2c8720d610cb3e2f517a50c3f1f40663ca36761
parentf5396833d35a257902409493a63f777dcd771868 (diff)
downloadgdb-7bc2c8b83ea82b4315c67e7658af815aed062e73.zip
gdb-7bc2c8b83ea82b4315c67e7658af815aed062e73.tar.gz
gdb-7bc2c8b83ea82b4315c67e7658af815aed062e73.tar.bz2
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.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/tui/tui-winsource.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ca17d84..d6b8b47 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2016-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
+ * tui/tui-winsource.c (tui_alloc_source_buffer): Subtract
+ highlight box's overhead when calculating the content height.
+
+2016-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
* tui/tui-disasm.c (tui_set_disassem_content): Fix calculation of
the longest disassembly line's length.
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 09080b8..4a82ae4 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