use double in %f format to allow %.15f precision
diff --git a/src/core/ngx_string.c b/src/core/ngx_string.c
index a1aeb47..ce1fad6 100644
--- a/src/core/ngx_string.c
+++ b/src/core/ngx_string.c
@@ -75,7 +75,7 @@
* %[0][width][u][x|X]D int32_t/uint32_t
* %[0][width][u][x|X]L int64_t/uint64_t
* %[0][width|m][u][x|X]A ngx_atomic_int_t/ngx_atomic_uint_t
- * %[0][width][.width]f float
+ * %[0][width][.width]f double, max valid number fits to %18.15f
* %P ngx_pid_t
* %M ngx_msec_t
* %r rlim_t
@@ -143,7 +143,7 @@
{
u_char *p, zero;
int d;
- float f, scale;
+ double f, scale;
size_t len, slen;
int64_t i64;
uint64_t ui64;
@@ -359,7 +359,7 @@
break;
case 'f':
- f = (float) va_arg(args, double);
+ f = va_arg(args, double);
if (f < 0) {
*buf++ = '-';