1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/lib/core/assert.c
2023-05-31 18:39:35 +03:00

25 lines
746 B
C

#include "private-lib-core.h"
#ifdef LWS_ENABLE_CUSTOM_ASSERT
typedef void (*lws_assert_cb)(const char *file, int line, const char *expression);
void lws_set_assert_cb(lws_assert_cb cb);
void lws_assert(const char *file, int line, const char *expression);
#define assert(expression) (void)((expression) || (lws_assert(__FILE__, __LINE__, #expression), 0))
#endif
static lws_assert_cb assert_cb = NULL;
void lws_set_assert_cb(lws_assert_cb cb) {
assert_cb = cb;
}
void lws_assert(const char *file, int line, const char *expression) {
if (assert_cb != NULL) {
assert_cb(file, line, expression);
} else {
fprintf(stderr, "Assertion failed: %s, file %s, line %d\n", expression, file, line);
abort();
}
}