X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fmicrohttpd-util.c;h=3844f7a03c5e477e514883afdcde7e33a678ac98;hb=1238ee09b7babb175b9bf7ad1d0e8eb2a414ee6e;hp=5675af4a19068afabcb3852ca3eda2c573fcd055;hpb=9091e686f43184065381aa71929e3df36a4ea2e1;p=elogind.git diff --git a/src/journal/microhttpd-util.c b/src/journal/microhttpd-util.c index 5675af4a1..3844f7a03 100644 --- a/src/journal/microhttpd-util.c +++ b/src/journal/microhttpd-util.c @@ -27,15 +27,15 @@ #include "macro.h" #include "util.h" -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wformat-nonliteral" -_printf_(2,0) void microhttpd_logger(void *arg, const char *fmt, va_list ap) { - _cleanup_free_ char *f; + _cleanup_free_ char *f = NULL; + if (asprintf(&f, "microhttpd: %s", fmt) <= 0) { log_oom(); return; } + + DISABLE_WARNING_FORMAT_NONLITERAL; log_metav(LOG_INFO, NULL, 0, NULL, f, ap); + REENABLE_WARNING; } -#pragma GCC diagnostic pop