From: Mike Frysinger <vapier@gentoo.org>
Date: Fri, 23 Jul 2010 09:28:15 +0000 (-0400)
Subject: cmd editing: optimize/shrink output blanking
X-Git-Tag: v2025.01-rc5-pxa1908~20149
X-Git-Url: http://git.dujemihanovic.xyz/repo?a=commitdiff_plain;h=8faba4894c6e2bafbfab17260f3db17867cd50d2;p=u-boot.git

cmd editing: optimize/shrink output blanking

No need to output spaces 1 char at a time in a loop when the printf code
can do the same thing with the right format string.  This shrinks things
and gives a nice speed up when killing off lines more than a byte or two
as printf will send out the buffer in one big chunk.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---

diff --git a/common/main.c b/common/main.c
index 54ef79e264..8d548dbc85 100644
--- a/common/main.c
+++ b/common/main.c
@@ -643,12 +643,10 @@ static void cread_print_hist_list(void)
 
 #define ERASE_TO_EOL() {				\
 	if (num < eol_num) {				\
-		int tmp;				\
-		for (tmp = num; tmp < eol_num; tmp++)	\
-			getcmd_putch(' ');		\
-		while (tmp-- > num)			\
+		printf("%*s", (int)(eol_num - num), ""); \
+		do {					\
 			getcmd_putch(CTL_BACKSPACE);	\
-		eol_num = num;				\
+		} while (--eol_num > num);		\
 	}						\
 }