X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flog.c;h=949936762a14c91830bd917029afeca91a205b47;hp=c37ab226402c462f582b1ba1d8a8bafbbf6cfc39;hb=568b679f2a5db6a23c795363091b94ad804f24f6;hpb=bb99a35a873c35e80b0b47fe045081022660374d diff --git a/src/log.c b/src/log.c index c37ab2264..949936762 100644 --- a/src/log.c +++ b/src/log.c @@ -582,26 +582,22 @@ int log_dump_internal( return r; } -int log_meta( +int log_metav( int level, const char*file, int line, const char *func, - const char *format, ...) { + const char *format, + va_list ap) { char buffer[LINE_MAX]; int saved_errno, r; - va_list ap; if (_likely_(LOG_PRI(level) > log_max_level)) return 0; saved_errno = errno; - - va_start(ap, format); vsnprintf(buffer, sizeof(buffer), format, ap); - va_end(ap); - char_array_0(buffer); r = log_dispatch(level, file, line, func, buffer); @@ -610,6 +606,23 @@ int log_meta( return r; } +int log_meta( + int level, + const char*file, + int line, + const char *func, + const char *format, ...) { + + int r; + va_list ap; + + va_start(ap, format); + r = log_metav(level, file, line, func, format, ap); + va_end(ap); + + return r; +} + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" _noreturn_ static void log_assert(const char *text, const char *file, int line, const char *func, const char *format) { @@ -625,11 +638,11 @@ _noreturn_ static void log_assert(const char *text, const char *file, int line, } #pragma GCC diagnostic pop -void log_assert_failed(const char *text, const char *file, int line, const char *func) { +_noreturn_ void log_assert_failed(const char *text, const char *file, int line, const char *func) { log_assert(text, file, line, func, "Assertion '%s' failed at %s:%u, function %s(). Aborting."); } -void log_assert_failed_unreachable(const char *text, const char *file, int line, const char *func) { +_noreturn_ void log_assert_failed_unreachable(const char *text, const char *file, int line, const char *func) { log_assert(text, file, line, func, "Code should not be reached '%s' at %s:%u, function %s(). Aborting."); }