diff options
author | Tom Tromey <tom@tromey.com> | 2020-02-22 11:48:26 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-02-22 11:48:36 -0700 |
commit | e098d18cfc12c750616b7c934b9a9057f71f3553 (patch) | |
tree | eb3723296ab62f2d92f5a658815b5aea42d12923 /gdb/tui | |
parent | eb9c88745686d46c5100bdf1c2f112d699c7f702 (diff) | |
download | gdb-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.c | 13 |
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'. */ |