summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-04-24 13:51:28 +0200
committerThomas Haller <thaller@redhat.com>2015-04-24 13:51:43 +0200
commitcb6bafb9af721fcd2295b4da73f4a7812eb4f3e8 (patch)
treee38d79e1dfbf3aef4e3629f584a2560792032dd8
parent9b07ea77b8ee19671f2b11812529f26cda9751ab (diff)
downloadNetworkManager-cb6bafb9af721fcd2295b4da73f4a7812eb4f3e8.tar.gz
logging: define _LOGT() macro to check valid arguments
With NM_MORE_LOGGING disabled, we still want the compiler to evaluate the argument list. By wrapping it in "if(FALSE)", we get compile time checks, but the logging statement will be optimized out.
-rw-r--r--src/nm-route-manager.c4
-rw-r--r--src/platform/nm-linux-platform.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/nm-route-manager.c b/src/nm-route-manager.c
index daccb1639e..4bc416d0ed 100644
--- a/src/nm-route-manager.c
+++ b/src/nm-route-manager.c
@@ -112,8 +112,8 @@ static const VTableIP vtable_v4, vtable_v6;
#define _LOGT_ENABLED(addr_family) _LOG_LEVEL_ENABLED (LOGL_TRACE, addr_family)
#define _LOGT(addr_family, ...) _LOG (LOGL_TRACE, addr_family, __VA_ARGS__)
#else
-#define _LOGT_ENABLED(addr_family) FALSE
-#define _LOGT(addr_family, ...) G_STMT_START { (void) 0; } G_STMT_END
+#define _LOGT_ENABLED(addr_family) (FALSE && _LOG_LEVEL_ENABLED (LOGL_TRACE, addr_family))
+#define _LOGT(addr_family, ...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, addr_family, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(addr_family, ...) _LOG (LOGL_DEBUG, addr_family, __VA_ARGS__)
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index 104319d854..65dd60f569 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -99,7 +99,7 @@
#define _LOGT(...) _LOG (LOGL_TRACE, _LOG_DOMAIN, platform, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
-#define _LOGT(...) G_STMT_START { (void) 0; } G_STMT_END
+#define _LOGT(...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, platform, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, platform, __VA_ARGS__)