summaryrefslogtreecommitdiffstats
path: root/patches/busybox-1.9.1/generic/busybox-1.9.1-lineedit.patch
blob: b412de48d41e9ceb02ba338026c9f1cb4f3b7fb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Subject: busybox 1.9.1 fixes
From: http://busybox.net/downloads/fixes-1.9.1

---
 libbb/lineedit.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Index: busybox-1.9.1/libbb/lineedit.c
===================================================================
--- busybox-1.9.1.orig/libbb/lineedit.c
+++ busybox-1.9.1/libbb/lineedit.c
@@ -246,7 +246,15 @@ static void input_backward(unsigned num)
 	if (cmdedit_x >= num) {
 		cmdedit_x -= num;
 		if (num <= 4) {
-			printf("\b\b\b\b" + (4-num));
+			/* This is longer by 5 bytes on x86.
+			 * Also gets mysteriously
+			 * miscompiled for some ARM users.
+			 * printf(("\b\b\b\b" + 4) - num);
+			 * return;
+			 */
+			do {
+				bb_putchar('\b');
+			} while (--num);
 			return;
 		}
 		printf("\033[%uD", num);