From: Lennart Poettering Date: Thu, 11 Jan 2018 12:15:19 +0000 (+0100) Subject: log: assign the realm to a variable first in log_full_errno_realm() X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=4205611a9b7e0e38122cb02b58261c1b395daab3;p=elogind.git log: assign the realm to a variable first in log_full_errno_realm() Let's avoid duplicate evaluation (which might have side-effects) and assign the realm to an internal variable first, as we need it twice. --- diff --git a/src/basic/log.h b/src/basic/log.h index 448012538..357564efb 100644 --- a/src/basic/log.h +++ b/src/basic/log.h @@ -240,9 +240,9 @@ void log_assert_failed_return_realm( /* Logging with level */ #define log_full_errno_realm(realm, level, error, ...) \ ({ \ - int _level = (level), _e = (error); \ - (log_get_max_level_realm((realm)) >= LOG_PRI(_level)) \ - ? log_internal_realm(LOG_REALM_PLUS_LEVEL((realm), _level), _e, \ + int _level = (level), _e = (error), _realm = (realm); \ + (log_get_max_level_realm(_realm) >= LOG_PRI(_level)) \ + ? log_internal_realm(LOG_REALM_PLUS_LEVEL(_realm, _level), _e, \ __FILE__, __LINE__, __func__, __VA_ARGS__) \ : -abs(_e); \ })