windows-nt/Source/XPSP1/NT/shell/ext/url/debbase.h
2020-09-26 16:20:57 +08:00

57 lines
734 B
C

/*
* debbase.h - Base debug macros and their retail translations.
*/
/* Macros
*********/
/* debug assertion macro */
/*
* ASSERT() may only be used as a statement, not as an expression.
*
* E.g.,
*
* ASSERT(pszRest);
*/
#ifdef DEBUG
#define ASSERT(exp) \
if (exp) \
; \
else \
ERROR_OUT(("assertion failed '%s'", (PCSTR)#exp))
#else
#define ASSERT(exp)
#endif /* DEBUG */
/* debug evaluation macro */
/*
* EVAL() may only be used as a logical expression.
*
* E.g.,
*
* if (EVAL(exp))
* bResult = TRUE;
*/
#ifdef DEBUG
#define EVAL(exp) \
((exp) || \
(ERROR_OUT(("evaluation failed '%s'", (PCSTR)#exp)), 0))
#else
#define EVAL(exp) \
((exp) != 0)
#endif /* DEBUG */