summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-09-26 05:49:50 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-09-26 05:49:50 -0600
commitba0da127d27d5963102a820a5e9384c01d6fbe56 (patch)
tree9e478dc7b18ed9157ef88a7475079220bcc7b6be
parentb2b0a77e05b9c9682ef0f0708bcf2473e9b519ca (diff)
downloadnuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.tar.gz
nuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.tar.bz2
nuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.zip
Change to lib_dtoa() to fix prescision error from trailing zeroes
-rw-r--r--nuttx/libc/stdio/lib_libdtoa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/nuttx/libc/stdio/lib_libdtoa.c b/nuttx/libc/stdio/lib_libdtoa.c
index a2edecf6b..0120bafd2 100644
--- a/nuttx/libc/stdio/lib_libdtoa.c
+++ b/nuttx/libc/stdio/lib_libdtoa.c
@@ -189,6 +189,10 @@ static void lib_dtoa(FAR struct lib_outstream_s *obj, int fmt, int prec,
digits = __dtoa(value, 3, prec, &expt, &dsgn, &rve);
numlen = rve - digits;
+ /* Avoid precision error from missing trailing zeroes */
+
+ numlen = MAX(expt, numlen);
+
if (IS_NEGATE(flags))
{
obj->put(obj, '-');