From d8f961bbdaeef4dc1af7a01e297bf2d7e25ae227 Mon Sep 17 00:00:00 2001
From: Stefan Roese <sr@denx.de>
Date: Mon, 7 Aug 2006 15:08:44 +0200
Subject: [PATCH] Fix control-c handing in CONFIG_CMDLINE_EDITING Properly pass
 break code back from readline. Patch by Roger Blofeld, 31 Jul 2006

---
 CHANGELOG     | 4 ++++
 common/main.c | 5 +++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 5ef76d2206..e451b517a4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Fix control-c handing in CONFIG_CMDLINE_EDITING
+  Properly pass break code back from readline.
+  Patch by Roger Blofeld, 31 Jul 2006
+
 * Add commandline history support to all AMCC eval boards
   Patch by Stefan Roese, 07 Aug 2006
 
diff --git a/common/main.c b/common/main.c
index 3788bd5e4a..13d12a4308 100644
--- a/common/main.c
+++ b/common/main.c
@@ -937,6 +937,7 @@ int readline (const char *const prompt)
 #ifdef CONFIG_CMDLINE_EDITING
 	char *p = console_buffer;
 	unsigned int len=MAX_CMDBUF_SIZE;
+	int rc;
 	static int initted = 0;
 
 	if (!initted) {
@@ -946,8 +947,8 @@ int readline (const char *const prompt)
 
 	puts (prompt);
 
-	cread_line(p, &len);
-	return len;
+	rc = cread_line(p, &len);
+	return rc < 0 ? rc : len;
 #else
 	char   *p = console_buffer;
 	int	n = 0;				/* buffer index		*/
-- 
2.39.5