Merge #9417: Do not evaluate hidden LogPrint arguments

407cdd6 Do not evaluate hidden LogPrint arguments (Pieter Wuille)
This commit is contained in:
Wladimir J. van der Laan 2017-01-05 10:46:54 +01:00 committed by Alexander Block
parent e48bc13a21
commit a1478e586a

View File

@ -95,14 +95,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__)
#define LogPrint(category, ...) do { \
if (LogAcceptCategory((category))) { \
LogPrintStr(tfm::format(__VA_ARGS__)); \
} \
} while(0)
template<typename... Args>
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 LogPrintf(...) do { \
LogPrintStr(tfm::format(__VA_ARGS__)); \
} while(0)
template<typename... Args>
bool error(const char* fmt, const Args&... args)