[git commit] lineedit: don't block when looking for escape sequence in vi-mode

Denys Vlasenko vda.linux at googlemail.com
Mon Dec 15 12:30:58 UTC 2014

commit: http://git.busybox.net/busybox/commit/?id=20cd31a2d7cc1b633b725280eb7546ca14eef7eb
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

In vi-mode lineedit tries to detect some escape sequences.
After the ESC it reads the next character to check for certain
values.  This read should have a timeout or a user-entered ESC to
switch to command mode doesn't properly handle the next character.

Signed-off-by: Ron Yorston <rmy at tigress.co.uk>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
 libbb/lineedit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 3961b1d..720a495 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -2611,7 +2611,7 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
 			 * standard readline bindings (IOW: bash) do.
 			 * Often, Alt-<key> generates ESC-<key>.
-			ic = lineedit_read_key(read_key_buffer, timeout);
+			ic = lineedit_read_key(read_key_buffer, 50);
 			switch (ic) {
 				//case KEYCODE_LEFT: - bash doesn't do this
 				case 'b':

More information about the busybox-cvs mailing list