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
This commit is contained in:
parent
eb9c887456
commit
e098d18cfc
|
@ -1,3 +1,8 @@
|
|||
2020-02-22 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-win.c (tui_partial_win_by_name): Handle ambiguity
|
||||
correctly.
|
||||
|
||||
2020-02-22 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-data.c (tui_next_win, tui_prev_win): Reimplement.
|
||||
|
|
|
@ -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'. */
|
||||
|
|
Loading…
Reference in New Issue