aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-02-22 11:48:26 -0700
committerTom Tromey <tom@tromey.com>2020-02-22 11:48:36 -0700
commite098d18cfc12c750616b7c934b9a9057f71f3553 (patch)
treeeb3723296ab62f2d92f5a658815b5aea42d12923 /gdb/tui
parenteb9c88745686d46c5100bdf1c2f112d699c7f702 (diff)
downloadgdb-e098d18cfc12c750616b7c934b9a9057f71f3553.zip
gdb-e098d18cfc12c750616b7c934b9a9057f71f3553.tar.gz
gdb-e098d18cfc12c750616b7c934b9a9057f71f3553.tar.bz2
Handle ambiguity in tui_partial_win_by_name
This changes tui_partial_win_by_name to correctly handle an ambiguous name prefix. This will be important once the user can register new window types. gdb/ChangeLog 2020-02-22 Tom Tromey <tom@tromey.com> * tui/tui-win.c (tui_partial_win_by_name): Handle ambiguity correctly. Change-Id: I59aaacd697eeab649164183457ef722dae58d60d
Diffstat (limited to 'gdb/tui')
-rw-r--r--gdb/tui/tui-win.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index ef78e91..ea20275 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -694,18 +694,27 @@ tui_scroll_right_command (const char *arg, int from_tty)
static struct tui_win_info *
tui_partial_win_by_name (gdb::string_view name)
{
+ struct tui_win_info *best = nullptr;
+
if (name != NULL)
{
for (tui_win_info *item : all_tui_windows ())
{
const char *cur_name = item->name ();
- if (startswith (cur_name, name))
+ if (name == cur_name)
return item;
+ if (startswith (cur_name, name))
+ {
+ if (best != nullptr)
+ error (_("Window name \"%*s\" is ambiguous"),
+ (int) name.size (), name.data ());
+ best = item;
+ }
}
}
- return NULL;
+ return best;
}
/* Set focus to the window named by 'arg'. */