diff options
author | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2004-06-27 11:46:42 +0000 |
---|---|---|
committer | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2004-06-27 11:46:42 +0000 |
commit | 2309b680d6404a535b3736b45a8e0ebb1ad137a5 (patch) | |
tree | 1dceaa86b71f067257b9bd010451fca5392b4b84 /strings | |
parent | eba9fb1ce9a40c8ffbd2624c44961922abd23abe (diff) | |
download | libapr-2309b680d6404a535b3736b45a8e0ebb1ad137a5.tar.gz |
Fix apr_snprintf() to respect precision for small floating point
numbers.
PR: 29621
Submitted by: Artur Zaprzala <zybi talex.pl>
Reviewed by: Jeff Trawick
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@65222 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'strings')
-rw-r--r-- | strings/apr_snprintf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/strings/apr_snprintf.c b/strings/apr_snprintf.c index 73856a257..fa4cee3a0 100644 --- a/strings/apr_snprintf.c +++ b/strings/apr_snprintf.c @@ -132,11 +132,12 @@ static char *apr_cvt(double arg, int ndigits, int *decpt, int *sign, p1 = &buf[ndigits]; if (eflag == 0) p1 += r2; - *decpt = r2; if (p1 < &buf[0]) { + *decpt = -ndigits; buf[0] = '\0'; return (buf); } + *decpt = r2; while (p <= p1 && p < &buf[NDIG]) { arg *= 10; arg = modf(arg, &fj); |