@@ -76,40 +76,33 @@ int LogPrintStr(const std::string &str);
76
76
77
77
#define LogPrintf (...) LogPrint(NULL , __VA_ARGS__)
78
78
79
- /* *
80
- * When we switch to C++11, this can be switched to variadic templates instead
81
- * of this macro-based construction (see tinyformat.h).
82
- */
83
- #define MAKE_ERROR_AND_LOG_FUNC (n ) \
84
- /* * Print to debug.log if -debug=category switch is given OR category is NULL. */ \
85
- template <TINYFORMAT_ARGTYPES(n)> \
86
- static inline int LogPrint (const char * category, const char * format, TINYFORMAT_VARARGS(n)) \
87
- { \
88
- if (!LogAcceptCategory (category)) return 0 ; \
89
- return LogPrintStr (tfm::format (format, TINYFORMAT_PASSARGS (n))); \
90
- } \
91
- /* * Log error and return false */ \
92
- template <TINYFORMAT_ARGTYPES(n)> \
93
- static inline bool error (const char * format, TINYFORMAT_VARARGS(n)) \
94
- { \
95
- LogPrintStr (" ERROR: " + tfm::format (format, TINYFORMAT_PASSARGS (n)) + " \n " ); \
96
- return false ; \
97
- }
79
+ template <typename T1, typename ... Args>
80
+ static inline int LogPrint (const char * category, const char * fmt, const T1& v1, const Args&... args)
81
+ {
82
+ if (!LogAcceptCategory (category)) return 0 ; \
83
+ return LogPrintStr (tfm::format (fmt, v1, args...));
84
+ }
98
85
99
- TINYFORMAT_FOREACH_ARGNUM (MAKE_ERROR_AND_LOG_FUNC)
86
+ template <typename T1, typename ... Args>
87
+ bool error (const char * fmt, const T1& v1, const Args&... args)
88
+ {
89
+ LogPrintStr (" ERROR: " + tfm::format (fmt, v1, args...) + " \n " );
90
+ return false ;
91
+ }
100
92
101
93
/* *
102
94
* Zero-arg versions of logging and error, these are not covered by
103
- * TINYFORMAT_FOREACH_ARGNUM
95
+ * the variadic templates above (and don't take format arguments but
96
+ * bare strings).
104
97
*/
105
- static inline int LogPrint(const char * category, const char * format )
98
+ static inline int LogPrint (const char * category, const char * s )
106
99
{
107
100
if (!LogAcceptCategory (category)) return 0 ;
108
- return LogPrintStr (format );
101
+ return LogPrintStr (s );
109
102
}
110
- static inline bool error (const char * format )
103
+ static inline bool error (const char * s )
111
104
{
112
- LogPrintStr (std::string (" ERROR: " ) + format + " \n " );
105
+ LogPrintStr (std::string (" ERROR: " ) + s + " \n " );
113
106
return false ;
114
107
}
115
108
0 commit comments