summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authortrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-06-27 11:46:42 +0000
committertrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-06-27 11:46:42 +0000
commit2309b680d6404a535b3736b45a8e0ebb1ad137a5 (patch)
tree1dceaa86b71f067257b9bd010451fca5392b4b84 /strings
parenteba9fb1ce9a40c8ffbd2624c44961922abd23abe (diff)
downloadlibapr-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.c3
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);