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++ = '-';