#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(); } }