aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/various/chprintf.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/os/various/chprintf.c b/os/various/chprintf.c
index 190a7defa..0feee72c3 100644
--- a/os/various/chprintf.c
+++ b/os/various/chprintf.c
@@ -77,10 +77,10 @@ static char *ftoa(char *p, double num) {
long l;
unsigned long precision = FLOAT_PRECISION;
- l = num;
+ l = (long)num;
p = long_to_string_with_divisor(p, l, 10, 0);
*p++ = '.';
- l = (num - l) * precision;
+ l = (long)((num - l) * precision);
return long_to_string_with_divisor(p, l, 10, precision / 10);
}
#endif
@@ -250,8 +250,8 @@ unsigned_common:
chSequentialStreamPut(chp, (uint8_t)filler);
while (++width != 0);
}
- while (--i >= 0)
- chSequentialStreamPut(chp, (uint8_t)*s++);
+ chSequentialStreamWrite(chp, (uint8_t*)s, i);
+ s += i;
while (width) {
chSequentialStreamPut(chp, (uint8_t)filler);
@@ -281,7 +281,7 @@ unsigned_common:
* @param[in] str pointer to a buffer
* @param[in] size maximum size of the buffer
* @param[in] fmt formatting string
- * @param[in] ap list of parameters
+ * @return The size of the generated string.
*
* @api
*/