dhcp: support _LOGx_ENABLED() macro in dhcp-client
authorThomas Haller <thaller@redhat.com>
Thu, 17 Mar 2016 16:55:25 +0000 (17:55 +0100)
committerThomas Haller <thaller@redhat.com>
Thu, 17 Mar 2016 17:00:53 +0000 (18:00 +0100)
The macro _LOGx_ENABLED() is defined with a default implementation
that depends on _NMLOG_DOMAIN. Although that default does not
check for LOGD_DHCP4 vs. LOGD_DHCP6, still provide it.
Determining the correct domain might involve a larger performance
impact that what we would safe.

src/dhcp-manager/nm-dhcp-client-logging.h

index 4d289d8..bb4f2f4 100644 (file)
 #include "nm-dhcp-client.h"
 
 #define _NMLOG_PREFIX_NAME    "dhcp"
+#define _NMLOG_DOMAIN         LOGD_DHCP
 #define _NMLOG(level, ...) \
     G_STMT_START { \
         const NMLogLevel _level = (level); \
         \
-        if (nm_logging_enabled (_level, LOGD_DHCP)) { \
+        /* we check first for LOGD_DHCP instead of the correct domain.
+         * In the worst case, we guess wrong and enter the block.
+         *
+         * Same for the _NMLOG_ENABLED() macro. Probably it would be more
+         * expensive to determine the correct value then what we could
+         * safe. */ \
+        if (nm_logging_enabled (_level, _NMLOG_DOMAIN)) { \
             NMDhcpClient *_self = (NMDhcpClient *) (self); \
             const char *__ifname = _self ? nm_dhcp_client_get_iface (_self) : NULL; \
             const NMLogDomain _domain = !_self \