X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Flog.c;h=8d1067c63bf7f894589fefc1bf9adeca8f4197eb;hb=4de33e7f3238a6fe616e61139ab87e221572e5e5;hp=3e48b3ccc24f303e41229a3f198942bcd09aa05a;hpb=b1e90ec515408aec2702522f6f68c4920b56375b;p=elogind.git diff --git a/src/shared/log.c b/src/shared/log.c index 3e48b3ccc..8d1067c63 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -703,22 +703,21 @@ int log_meta_object( return r; } -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wformat-nonliteral" static void log_assert(int level, const char *text, const char *file, int line, const char *func, const char *format) { static char buffer[LINE_MAX]; if (_likely_(LOG_PRI(level) > log_max_level)) return; + DISABLE_WARNING_FORMAT_NONLITERAL; snprintf(buffer, sizeof(buffer), format, text, file, line, func); + REENABLE_WARNING; char_array_0(buffer); log_abort_msg = buffer; log_dispatch(level, file, line, func, NULL, NULL, buffer); } -#pragma GCC diagnostic pop noreturn void log_assert_failed(const char *text, const char *file, int line, const char *func) { log_assert(LOG_CRIT, text, file, line, func, "Assertion '%s' failed at %s:%u, function %s(). Aborting.");