message: Do not evaluate hidden LogPrint arguments
  backports bitcoin@407cdd6cb8db7baacf3c4d7bf9bae5fe38d7f098
diff: @@ -62,17 +62,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__)
  -
  -/** Get format string from VA_ARGS for error reporting */
  -template<typename... Args> std::string FormatStringFromLogArgs(const char *fmt, const Args&... args) { return fmt; }
  -
  -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 LogPrint(category, ...) do { \
  + if (LogAcceptCategory((category))) { \
  + LogPrintStr(tfm::format(__VA_ARGS__)); \
  + } \
  +} while(0)
  +
  +#define LogPrintf(...) do { \
  + LogPrintStr(tfm::format(__VA_ARGS__)); \
  +} while(0)
  template<typename... Args>
  bool error(const char* fmt, const Args&... args)
  