From: Vsevolod Stakhov Date: Mon, 23 Mar 2015 15:26:57 +0000 (+0000) Subject: Add %e modifier for GError clever printing. X-Git-Tag: 0.9.0~450^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f07041e17635e7ba0bcbb0adddc61059b5f510eb;p=thirdparty%2Frspamd.git Add %e modifier for GError clever printing. --- diff --git a/src/libutil/printf.c b/src/libutil/printf.c index 5a04dc4325..0cd043058f 100644 --- a/src/libutil/printf.c +++ b/src/libutil/printf.c @@ -339,6 +339,7 @@ rspamd_vprintf_common (rspamd_printf_append_func func, guint width, sign, hex, humanize, bytes, frac_width, i; rspamd_fstring_t *v; GString *gs; + GError *err; gboolean bv; while (*fmt) { @@ -462,6 +463,24 @@ rspamd_vprintf_common (rspamd_printf_append_func func, continue; + case 'e': + err = va_arg (args, GError *); + + if (err) { + p = err->message; + + if (p == NULL) { + p = "(NULL)"; + } + } + else { + p = "unknown error"; + } + + slen = strlen (p); + RSPAMD_PRINTF_APPEND (p, slen); + break; + case 's': p = va_arg (args, gchar *); if (p == NULL) { diff --git a/src/libutil/printf.h b/src/libutil/printf.h index 2bc421143e..d0db483d9d 100644 --- a/src/libutil/printf.h +++ b/src/libutil/printf.h @@ -52,6 +52,7 @@ * %Z '\0' * %N '\n' * %c gchar + * %e GError * * %% % * */