diff options
Diffstat (limited to 'src/libutil/printf.c')
-rw-r--r-- | src/libutil/printf.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/libutil/printf.c b/src/libutil/printf.c index 9dc14441c..84dd5d272 100644 --- a/src/libutil/printf.c +++ b/src/libutil/printf.c @@ -947,9 +947,8 @@ rspamd_vprintf_common (rspamd_printf_append_func func, case 'f': - case 'g': f = (gdouble) va_arg (args, double); - slen = fpconv_dtoa (f, dtoabuf); + slen = fpconv_dtoa (f, dtoabuf, false); if (frac_width != 0) { const gchar *dot_pos = memchr (dtoabuf, '.', slen); @@ -980,10 +979,16 @@ rspamd_vprintf_common (rspamd_printf_append_func func, continue; + case 'g': + f = (gdouble) va_arg (args, double); + slen = fpconv_dtoa (f, dtoabuf, true); + RSPAMD_PRINTF_APPEND (dtoabuf, slen); + + continue; + case 'F': - case 'G': f = (gdouble) va_arg (args, long double); - slen = fpconv_dtoa (f, dtoabuf); + slen = fpconv_dtoa (f, dtoabuf, false); if (frac_width != 0) { const gchar *dot_pos = memchr (dtoabuf, '.', slen); @@ -1014,6 +1019,13 @@ rspamd_vprintf_common (rspamd_printf_append_func func, continue; + case 'G': + f = (gdouble) va_arg (args, long double); + slen = fpconv_dtoa (f, dtoabuf, true); + RSPAMD_PRINTF_APPEND (dtoabuf, slen); + + continue; + case 'p': ui64 = (uintptr_t) va_arg (args, void *); hex = 2; |