[U-Boot] [PATCH] cmd editing: optimize/shrink output blanking

Mike Frysinger vapier at gentoo.org
Fri Jul 23 11:28:15 CEST 2010


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 at gentoo.org>
---
 common/main.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/common/main.c b/common/main.c
index 20090ee..40617f5 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);		\
 	}						\
 }
 
-- 
1.7.2



More information about the U-Boot mailing list