Add arguments to mxb_assert_message
The macro can now be used to print runtime information in a printf-like manner. This makes it easier to see exactly why an assertion has failed.
This commit is contained in:
@ -31,9 +31,11 @@ MXB_BEGIN_DECLS
|
||||
fprintf(stderr, "debug assert at %s:%d failed: %s\n", (char*)__FILE__, __LINE__, debug_expr); \
|
||||
raise(SIGABRT);}} while (false)
|
||||
|
||||
#define mxb_assert_message(exp, message) \
|
||||
#define mxb_assert_message(exp, fmt, ...) \
|
||||
do {if (exp) {} else { \
|
||||
const char* debug_expr = #exp; \
|
||||
char message[1024]; \
|
||||
snprintf(message, sizeof(message), fmt, ##__VA_ARGS__); \
|
||||
MXB_ERROR("debug assert at %s:%d failed: %s (%s)\n", \
|
||||
(char*)__FILE__, \
|
||||
__LINE__, \
|
||||
|
||||
Reference in New Issue
Block a user