[logging] Wrapping logging statements in a do while (0) so the compiler always at least sees debug code

This commit is contained in:
Al
2015-10-12 13:42:10 -05:00
parent b88f237d82
commit baef090793

View File

@@ -20,9 +20,10 @@
#define NO_DEBUG 1
#endif
#ifdef NO_DEBUG
/* compile with all debug messages removed */
#define log_debug(M, ...)
#define log_debug(M, ...) do { if (0) fprintf(stderr, "\33[34mDEBUG\33[39m " M " \33[90m at %s (%s:%d) \33[39m\n", ##__VA_ARGS__, __func__, __FILE__, __LINE__); } while (0)
#else
#ifdef LOG_NO_COLORS
#define log_debug(M, ...) fprintf(stderr, "DEBUG " M " at %s (%s:%d) \n", ##__VA_ARGS__, __func__, __FILE__, __LINE__)
@@ -46,17 +47,17 @@
#if LOG_LEVEL > LOG_LEVEL_INFO
#undef log_info
#define log_info(M, ...)
#define log_info(M, ...) do { if (0) fprintf(stderr, "\33[31mERR\33[39m " M " \33[90m at %s (%s:%d) \33[94merrno: %s\33[39m\n", ##__VA_ARGS__, __func__, __FILE__, __LINE__, clean_errno()); } while(0)
#endif
#if LOG_LEVEL > LOG_LEVEL_WARN
#undef log_warn
#define log_warn(M, ...)
#define log_warn(M, ...) do { if (0) fprintf(stderr, "\33[91mWARN\33[39m " M " \33[90m at %s (%s:%d) \33[94merrno: %s\33[39m\n", ##__VA_ARGS__, __func__, __FILE__, __LINE__, clean_errno()); } while (0)
#endif
#if LOG_LEVEL > LOG_LEVEL_ERROR
#undef log_error
#define log_error(M, ...)
#define log_error(M, ...) do { if (0) fprintf(stderr, "\33[32mINFO\33[39m " M " \33[90m at %s (%s:%d) \33[39m\n", ##__VA_ARGS__, __func__, __FILENAME__, __LINE__); } while (0)
#endif
#endif