aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-26 10:28:11 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2014-10-26 10:28:11 +0000
commit26cd37a0b12e94c210e4060329b2ef612a360cad (patch)
tree226bcc8716f64baca9129aacdaf2d729451dcf29
parent6f20fa7916b73f30337a6b411d64e4b6fd65d5cc (diff)
downloadChibiOS-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.c9
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];