diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-09-26 05:49:50 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-09-26 05:49:50 -0600 |
commit | ba0da127d27d5963102a820a5e9384c01d6fbe56 (patch) | |
tree | 9e478dc7b18ed9157ef88a7475079220bcc7b6be | |
parent | b2b0a77e05b9c9682ef0f0708bcf2473e9b519ca (diff) | |
download | px4-nuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.tar.gz px4-nuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.tar.bz2 px4-nuttx-ba0da127d27d5963102a820a5e9384c01d6fbe56.zip |
Change to lib_dtoa() to fix prescision error from trailing zeroes
-rw-r--r-- | nuttx/libc/stdio/lib_libdtoa.c | 4 |
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, '-'); |