tui-winsource: Allocate for actual lines only
authorAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 9 Nov 2016 12:02:13 +0000 (13:02 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Wed, 9 Nov 2016 12:02:13 +0000 (13:02 +0100)
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
gdb/tui/tui-winsource.c

index ca17d849ab8f7efeaba1076a679c8d06cbcafcd8..d6b8b4747ce1550b4d5808c4ac60c80223978106 100644 (file)
@@ -1,3 +1,8 @@
+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
index 09080b841af09b9196f16316a8c637433233af1f..4a82ae4f4381b24a8e136d74510f197b313a6b2e 100644 (file)
@@ -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