|
|
@@ -219,6 +219,18 @@ rspamd_printf_append_gstring (const gchar *buf, glong buflen, gpointer ud) |
|
|
|
return buflen; |
|
|
|
} |
|
|
|
|
|
|
|
static glong |
|
|
|
rspamd_printf_append_fstring (const gchar *buf, glong buflen, gpointer ud) |
|
|
|
{ |
|
|
|
rspamd_fstring_t **dst = ud; |
|
|
|
|
|
|
|
if (buflen > 0) { |
|
|
|
*dst = rspamd_fstring_append (*dst, buf, buflen); |
|
|
|
} |
|
|
|
|
|
|
|
return buflen; |
|
|
|
} |
|
|
|
|
|
|
|
glong |
|
|
|
rspamd_fprintf (FILE *f, const gchar *fmt, ...) |
|
|
|
{ |
|
|
@@ -307,6 +319,25 @@ rspamd_vprintf_gstring (GString *s, const gchar *fmt, va_list args) |
|
|
|
return rspamd_vprintf_common (rspamd_printf_append_gstring, s, fmt, args); |
|
|
|
} |
|
|
|
|
|
|
|
glong |
|
|
|
rspamd_printf_fstring (rspamd_fstring_t **s, const gchar *fmt, ...) |
|
|
|
{ |
|
|
|
va_list args; |
|
|
|
glong r; |
|
|
|
|
|
|
|
va_start (args, fmt); |
|
|
|
r = rspamd_vprintf_fstring (s, fmt, args); |
|
|
|
va_end (args); |
|
|
|
|
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
glong |
|
|
|
rspamd_vprintf_fstring (rspamd_fstring_t **s, const gchar *fmt, va_list args) |
|
|
|
{ |
|
|
|
return rspamd_vprintf_common (rspamd_printf_append_fstring, s, fmt, args); |
|
|
|
} |
|
|
|
|
|
|
|
#define RSPAMD_PRINTF_APPEND(buf, len) \ |
|
|
|
do { \ |
|
|
|
RSPAMD_PRINTF_APPEND_BUF(buf, len); \ |