diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-10-26 10:28:11 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-10-26 10:28:11 +0000 |
commit | 26cd37a0b12e94c210e4060329b2ef612a360cad (patch) | |
tree | 226bcc8716f64baca9129aacdaf2d729451dcf29 | |
parent | 6f20fa7916b73f30337a6b411d64e4b6fd65d5cc (diff) | |
download | ChibiOS-26cd37a0b12e94c210e4060329b2ef612a360cad.tar.gz ChibiOS-26cd37a0b12e94c210e4060329b2ef612a360cad.tar.bz2 ChibiOS-26cd37a0b12e94c210e4060329b2ef612a360cad.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7423 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/various/chprintf.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/os/various/chprintf.c b/os/various/chprintf.c index 36dad0de9..2756e9cc8 100644 --- a/os/various/chprintf.c +++ b/os/various/chprintf.c @@ -32,7 +32,7 @@ #include "memstreams.h"
#define MAX_FILLER 11
-#define FLOAT_PRECISION 5
+#define FLOAT_PRECISION 9
static char *long_to_string_with_divisor(char *p,
long num,
@@ -73,14 +73,13 @@ static char *ltoa(char *p, long num, unsigned radix) { }
#if CHPRINTF_USE_FLOAT
-static long pow10[] = {10, 100, 1000, 10000, 100000, 1000000, 10000000,
- 100000000, 1000000000, 10000000000, 100000000000,
- 1000000000000, 10000000000000};
+static long pow10[FLOAT_PRECISION] = {10, 100, 1000, 10000, 100000, 1000000,
+ 10000000, 100000000, 1000000000};
static char *ftoa(char *p, double num, unsigned long precision) {
long l;
- if (precision == 0)
+ if ((precision == 0) || (precision > FLOAT_PRECISION))
precision = FLOAT_PRECISION;
precision = pow10[precision - 1];
|