diff --git a/os/various/chprintf.c b/os/various/chprintf.c index 0feee72c3..78453f52b 100644 --- a/os/various/chprintf.c +++ b/os/various/chprintf.c @@ -246,12 +246,12 @@ unsigned_common: chSequentialStreamPut(chp, (uint8_t)*s++); i--; } - do + do { chSequentialStreamPut(chp, (uint8_t)filler); - while (++width != 0); + } while (++width != 0); } - chSequentialStreamWrite(chp, (uint8_t*)s, i); - s += i; + while (--i >= 0) + chSequentialStreamPut(chp, (uint8_t)*s++); while (width) { chSequentialStreamPut(chp, (uint8_t)filler);