2025-04-27 07:49:33 -04:00

37 lines
967 B
C

#ifndef _MYASSERT_H_
#define _MYASSERT_H_
#ifdef assert
#error("Can't use two assert systems")
#endif // assert
#ifdef DEBUG
extern const TCHAR SzNull[];
VOID DigSigAssertFn(LPCTSTR, LPCTSTR, int, LPCTSTR);
#define SZASSERT
#define Assert(condition) \
if (!(condition)) { \
static const char SZASSERT szExpr[] = #condition; \
static const char SZASSERT szFile[] = __FILE__; \
DigSigAssertFn(szExpr, SzNull, __LINE__, szFile); \
}
#define AssertSz(condition, szInfo) \
if (!(condition)) { \
static const char SZASSERT szExpr[] = #condition; \
static const char SZASSERT szFile[] = __FILE__; \
DigSigAssertFn(szExpr, szInfo, __LINE__, szFile); \
}
#else // !DEBUG
#define Assert(condition)
#define AssertSz(condition, szInfo)
#endif // DEBUG
#endif // _MYASSERT_H_