summaryrefslogtreecommitdiff
path: root/strings
diff options
context:
space:
mode:
authortrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-06-27 11:45:11 +0000
committertrawick <trawick@13f79535-47bb-0310-9956-ffa450edef68>2004-06-27 11:45:11 +0000
commit5caf3f40824dbe716112f591a57d580857e7d3ad (patch)
treee7c380620aab2f0d098ca61fa9879fabd1cf4728 /strings
parentb3fc9357a6a53de33dc35ecbe02830c1364ba35b (diff)
downloadlibapr-5caf3f40824dbe716112f591a57d580857e7d3ad.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/branches/APR_0_9_BRANCH@65221 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 9f4225464..8d85f50b5 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);