From 8a17a5cf5bcbce3f8ff56c0917dde0a8751186a7 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 24 Apr 2015 13:51:28 +0200 Subject: [PATCH] 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. (cherry picked from commit cb6bafb9af721fcd2295b4da73f4a7812eb4f3e8) --- src/nm-route-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 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__)