]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
log-link: introduce log_interface_full_errno() macro
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 2 Dec 2020 06:15:50 +0000 (15:15 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 2 Dec 2020 09:41:01 +0000 (18:41 +0900)
src/shared/log-link.h

index bb692e05184cc29d4a464ea7845f0b555da032c7..3a4dcaa267b2db2f8992d1660357c284a3941867 100644 (file)
@@ -3,6 +3,13 @@
 
 #include "log.h"
 
+#define log_interface_full_errno(ifname, level, error, ...)             \
+        ({                                                              \
+                const char *_ifname = (ifname);                         \
+                _ifname ? log_object_internal(level, error, PROJECT_FILE, __LINE__, __func__, "INTERFACE=", _ifname, NULL, NULL, ##__VA_ARGS__) : \
+                        log_internal(level, error, PROJECT_FILE, __LINE__, __func__, ##__VA_ARGS__); \
+        })
+
 /*
  * The following macros append INTERFACE= to the message.
  * The macros require a struct named 'Link' which contains 'char *ifname':
@@ -17,9 +24,8 @@
 #define log_link_full_errno(link, level, error, ...)                    \
         ({                                                              \
                 const Link *_l = (link);                                \
-                (_l && _l->ifname) ? log_object_internal(level, error, PROJECT_FILE, __LINE__, __func__, "INTERFACE=", _l->ifname, NULL, NULL, ##__VA_ARGS__) : \
-                        log_internal(level, error, PROJECT_FILE, __LINE__, __func__, ##__VA_ARGS__); \
-        })                                                              \
+                log_interface_full_errno(_l ? _l->ifname : NULL, level, error, ##__VA_ARGS__); \
+        })
 
 #define log_link_full(link, level, ...) (void) log_link_full_errno(link, level, 0, __VA_ARGS__)