From e585966eb46a3927805472c9f2f76941bd7b41f1 Mon Sep 17 00:00:00 2001
From: andersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Date: Fri, 21 Dec 2001 11:20:15 +0000
Subject: Patch from vodz to implement ^L (clear screen)

git-svn-id: svn://busybox.net/trunk/busybox@3935 69ca8d6d-28ef-0310-b511-8ec308f3f277
---
 shell/cmdedit.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

(limited to 'shell')

diff --git a/shell/cmdedit.c b/shell/cmdedit.c
index b90891587..d4d6264d0 100644
--- a/shell/cmdedit.c
+++ b/shell/cmdedit.c
@@ -1263,6 +1263,16 @@ prepare_to_die:
 			input_tab(&lastWasTab);
 #endif
 			break;
+		case 12:
+			/* Control-l -- clear screen
+			 * if the len=0 and no chars in edit line */
+			if (len == 0) {
+				printf("\033[H\033[J");
+				put_prompt();
+			} else {
+				beep();
+			}
+			break;
 		case 14:
 			/* Control-n -- Get next command in history */
 			if (hp && hp->n && hp->n->s) {
@@ -1288,7 +1298,6 @@ prepare_to_die:
 				redraw(cmdedit_y, len -= cursor);
 			}
 			break;
-
 		case ESC:{
 			/* escape sequence follows */
 			if (safe_read(0, &c, 1) < 1)
-- 
cgit v1.2.3-55-g6feb