Add RETURN_ERROR_IF Macro That Logs Debug Information When Check Fails

dev
W. Felix Handte 2018-12-05 16:23:18 -08:00
parent 2888c62e85
commit 54fa31f03b
1 changed files with 8 additions and 0 deletions

View File

@ -56,6 +56,14 @@ extern "C" {
#define CHECK_F(f) { size_t const errcod = f; if (ERR_isError(errcod)) return errcod; } /* check and Forward error code */
#define CHECK_E(f, e) { size_t const errcod = f; if (ERR_isError(errcod)) return ERROR(e); } /* check and send Error code */
#define RETURN_ERROR_IF(cond, err, ...) \
if (cond) { \
RAWLOG(3, "%s:%d: check %s failed, returning %s", __FILE__, __LINE__, ZSTD_QUOTE(cond), ZSTD_QUOTE(ERROR(err))); \
RAWLOG(3, ": " __VA_ARGS__); \
RAWLOG(3, "\n"); \
return ERROR(err); \
}
/*-*************************************
* Common constants