From 407cdd6cb8db7baacf3c4d7bf9bae5fe38d7f098 Mon Sep 17 00:00:00 2001 From: Pieter Wuille Date: Fri, 23 Dec 2016 14:22:46 -0800 Subject: [PATCH] Do not evaluate hidden LogPrint arguments --- src/util.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/util.h b/src/util.h index 3ec38a7c7..c9ead65a8 100644 --- a/src/util.h +++ b/src/util.h @@ -74,14 +74,15 @@ bool LogAcceptCategory(const char* category); /** Send a string to the log output */ int LogPrintStr(const std::string &str); -#define LogPrintf(...) LogPrint(NULL, __VA_ARGS__) - -template -static inline int LogPrint(const char* category, const char* fmt, const Args&... args) -{ - if(!LogAcceptCategory(category)) return 0; \ - return LogPrintStr(tfm::format(fmt, args...)); -} +#define LogPrint(category, ...) do { \ + if (LogAcceptCategory((category))) { \ + LogPrintStr(tfm::format(__VA_ARGS__)); \ + } \ +} while(0) + +#define LogPrintf(...) do { \ + LogPrintStr(tfm::format(__VA_ARGS__)); \ +} while(0) template bool error(const char* fmt, const Args&... args)