[PATCH 1/2] menu: fix support for "\n", "\n\r" and "\r"

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Apr 23 07:24:50 EDT 2012


If "\n\r" or "\r\n" is ignore one.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
 common/menu.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/common/menu.c b/common/menu.c
index 83821ec..6c530b6 100644
--- a/common/menu.c
+++ b/common/menu.c
@@ -296,7 +296,7 @@ static int menu_alloc_display_buffer(struct menu *m)
 
 int menu_show(struct menu *m)
 {
-	int ch;
+	int ch, ch_previous = 0;
 	int escape = 0;
 	int countdown;
 	int auto_display_len = 16;
@@ -388,7 +388,12 @@ int menu_show(struct menu *m)
 				m->selected->action(m, m->selected);
 			print_menu_entry(m, m->selected, 1);
 			break;
+		case KEY_ENTER:
+			if (ch_previous == KEY_RETURN)
+				break;
 		case KEY_RETURN:
+			if (ch_previous == KEY_ENTER)
+				break;
 			clear();
 			gotoXY(1,1);
 			m->selected->action(m, m->selected);
@@ -399,6 +404,7 @@ int menu_show(struct menu *m)
 		default:
 			break;
 		}
+		ch_previous = ch;
 	} while(1);
 
 	return 0;
-- 
1.7.9.1




More information about the barebox mailing list