chiark / gitweb /
log: assign the realm to a variable first in log_full_errno_realm()
authorLennart Poettering <lennart@poettering.net>
Thu, 11 Jan 2018 12:15:19 +0000 (13:15 +0100)
committerSven Eden <yamakuzure@gmx.net>
Wed, 30 May 2018 05:50:07 +0000 (07:50 +0200)
Let's avoid duplicate evaluation (which might have side-effects) and
assign the realm to an internal variable first, as we need it twice.

src/basic/log.h

index 448012538744353905c44635fb303305b4f66338..357564efb3aabb479d367e6b81866ef8e13271f2 100644 (file)
@@ -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);                                     \
         })