From 6548603235d448a86d289a84bef68fb3cda0131d Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 9 Jan 2019 02:08:24 +0900 Subject: [PATCH] core/socket: use macro to define log_address_error_errno() Then, it is not necessary to suppress warnings. Follow-up for ae05e1b6584eb8f48a4530f963fea2c42e891034. --- src/core/socket.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/core/socket.c b/src/core/socket.c index dd7e5d91fa..aea56fe3b5 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1465,16 +1465,13 @@ static int socket_address_listen_do( label); } -static int log_address_error_errno(Unit *u, const SocketAddress *address, int error, const char *fmt) { - _cleanup_free_ char *t = NULL; - - (void) socket_address_print(address, &t); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wformat-nonliteral" - return log_unit_error_errno(u, error, fmt, strna(t)); -#pragma GCC diagnostic pop -} +#define log_address_error_errno(u, address, error, fmt) \ + ({ \ + _cleanup_free_ char *_t = NULL; \ + \ + (void) socket_address_print(address, &_t); \ + log_unit_error_errno(u, error, fmt, strna(_t)); \ + }) static int socket_address_listen_in_cgroup( Socket *s,