SILC_VERIFY
NAME
#define SILC_VERIFY(experssion)
DESCRIPTION
Verification macro that prints error message to stderr and calls abort() if the `expression' is false (ie. compares equal to zero) on debug builds (SILC_DEBUG defined), and prints error message to stderr on release builds (SILC_DEBUG undefined) but does not abort(). This macro is always compiled even if debugging (SILC_DEBUG) is not defined.
SOURCE
#if defined(SILC_DEBUG) #define SILC_VERIFY(expr) assert((expr)); #else #define SILC_VERIFY(expr) \ if (silc_unlikely(!(expr))) { \ SILC_LOG_ERROR(("SILC_VERIFY %s:%s:%d", \ __FILE__, __FUNCTION__, __LINE__)); \ silc_set_errno_reason_nofail(SILC_ERR_ASSERT, "SILC_VERIFY %s:%s:%d", \ __FILE__, __FUNCTION__, __LINE__); \ } #endif /* SILC_DEBUG */