diff --git a/include/stlink/logging.h b/include/stlink/logging.h index df816ca..81e5f59 100644 --- a/include/stlink/logging.h +++ b/include/stlink/logging.h @@ -20,11 +20,18 @@ enum ugly_loglevel { int ugly_init(int maximum_threshold); int ugly_log(int level, const char *tag, const char *format, ...); -#define DLOG(format, args...) ugly_log(UDEBUG, __FILE__, format, ## args) -#define ILOG(format, args...) ugly_log(UINFO, __FILE__, format, ## args) -#define WLOG(format, args...) ugly_log(UWARN, __FILE__, format, ## args) -#define ELOG(format, args...) ugly_log(UERROR, __FILE__, format, ## args) -#define fatal(format, args...) ugly_log(UFATAL, __FILE__, format, ## args) +/** @todo we need to write this in a more generic way, for now this should compile + on visual studio (See http://stackoverflow.com/a/8673872/1836746) */ +#define DLOG_HELPER(format, ...) ugly_log(UDEBUG, __FILE__, format, __VA_ARGS__) +#define DLOG(...) DLOG_HELPER(__VA_ARGS__, "") +#define ILOG_HELPER(format, ...) ugly_log(UINFO, __FILE__, format, __VA_ARGS__) +#define ILOG(...) ILOG_HELPER(__VA_ARGS__, "") +#define WLOG_HELPER(format, ...) ugly_log(UWARN, __FILE__, format, __VA_ARGS__) +#define WLOG(...) WLOG_HELPER(__VA_ARGS__, "") +#define ELOG_HELPER(format, ...) ugly_log(UERROR, __FILE__, format, __VA_ARGS__) +#define ELOG(...) ELOG_HELPER(__VA_ARGS__, "") +#define fatal_helper(format, ...) ugly_log(UFATAL, __FILE__, format, __VA_ARGS__) +#define fatal(...) fatal_helper(__VA_ARGS__, "") #ifdef __cplusplus }