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 <vap...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to