summaryrefslogtreecommitdiffstats
path: root/src/hci/tui/menu_ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/hci/tui/menu_ui.c')
-rw-r--r--src/hci/tui/menu_ui.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/hci/tui/menu_ui.c b/src/hci/tui/menu_ui.c
index 2457a825..30d93ad2 100644
--- a/src/hci/tui/menu_ui.c
+++ b/src/hci/tui/menu_ui.c
@@ -303,7 +303,7 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) {
* @ret rc Return status code
*/
int show_menu ( struct menu *menu, unsigned int timeout_ms,
- struct menu_item **selected ) {
+ const char *select, struct menu_item **selected ) {
struct menu_item *item;
struct menu_ui ui;
int labelled_count = 0;
@@ -318,8 +318,13 @@ int show_menu ( struct menu *menu, unsigned int timeout_ms,
if ( ! labelled_count )
ui.selected = ui.count;
labelled_count++;
- if ( item->is_default )
- ui.selected = ui.count;
+ if ( select ) {
+ if ( strcmp ( select, item->label ) == 0 )
+ ui.selected = ui.count;
+ } else {
+ if ( item->is_default )
+ ui.selected = ui.count;
+ }
}
ui.count++;
}