aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2023-05-22 16:44:56 +0200
committerTom de Vries <tdevries@suse.de>2023-05-22 16:44:56 +0200
commit927dd36dba2d806f4e9dc68cc1975b616f4e0b57 (patch)
tree3f73f768e51b0b82cdc9a33413edf07e7b8e1666
parent7a8a6f57eced9a8c27a93cb5c5977a33be7b1f72 (diff)
downloadfsf-binutils-gdb-927dd36dba2d806f4e9dc68cc1975b616f4e0b57.zip
fsf-binutils-gdb-927dd36dba2d806f4e9dc68cc1975b616f4e0b57.tar.gz
fsf-binutils-gdb-927dd36dba2d806f4e9dc68cc1975b616f4e0b57.tar.bz2
[gdb/tui] Fix buglet in tui_update_variables
I noticed a buglet in tui_update_variables: ... entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner); if (tui_border_lrcorner != (chtype) entry->value) { tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value; ... When assigning the new value to tui_border_lrcorner, an entry->value of -1 is taken into account, but not when comparing to the current value of tui_border_lrcorner. Fix this by introducing: ... int val = (entry->value < 0) ? ACS_LRCORNER : entry->value; ... and using this in both comparison and assignment. Tested on x86_64-linux.
-rw-r--r--gdb/tui/tui-win.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index 6710b3e..7abd1e2 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -300,9 +300,10 @@ tui_update_variables ()
Only check the first one. The ACS characters are determined at
run time by curses terminal management. */
entry = translate (tui_border_kind, tui_border_kind_translate_lrcorner);
- if (tui_border_lrcorner != (chtype) entry->value)
+ int val = (entry->value < 0) ? ACS_LRCORNER : entry->value;
+ if (tui_border_lrcorner != (chtype) val)
{
- tui_border_lrcorner = (entry->value < 0) ? ACS_LRCORNER : entry->value;
+ tui_border_lrcorner = val;
need_redraw = true;
}
entry = translate (tui_border_kind, tui_border_kind_translate_llcorner);