void *extra)
{
if (!m->item_data_print) {
- putc(item->key);
+ puts(item->key);
putc('\n');
} else {
m->item_data_print(item->data);
return NULL;
}
+void __menu_display_statusline(struct menu *m)
+{
+ return;
+}
+void menu_display_statusline(struct menu *m)
+ __attribute__ ((weak, alias("__menu_display_statusline")));
+
/*
* Display a menu so the user can make a choice of an item. First display its
* title, if any, and then each item in the menu.
puts(m->title);
putc('\n');
}
+ menu_display_statusline(m);
menu_items_iter(m, menu_item_print, NULL);
}
menu_display(m);
- readret = readline_into_buffer("Enter choice: ", cbuf);
+ readret = readline_into_buffer("Enter choice: ", cbuf,
+ m->timeout);
if (readret >= 0) {
choice_item = menu_item_by_key(m, cbuf);
- if (!choice_item)
+ if (!choice_item) {
printf("%s not found\n", cbuf);
+ m->timeout = 0;
+ }
} else {
puts("^C\n");
return -EINTR;