mirror of
https://github.com/tailix/libkernaux.git
synced 2026-08-22 11:04:22 -04:00
Don't allow to disable assert and guard (part of #26)
This commit is contained in:
parent
d51acc9fda
commit
27393da2a5
9 changed files with 16 additions and 88 deletions
|
|
@ -7,36 +7,17 @@ extern "C" {
|
|||
|
||||
#define KERNAUX_PANIC(msg) (kernaux_assert_do(__FILE__, __LINE__, #msg))
|
||||
|
||||
#ifdef KERNAUX_ENABLE_ASSERT
|
||||
#define KERNAUX_ASSERT(cond) \
|
||||
((cond) ? (void)0 : kernaux_assert_do(__FILE__, __LINE__, #cond))
|
||||
#else
|
||||
#define KERNAUX_ASSERT(cond) ((void)sizeof((cond)))
|
||||
#endif
|
||||
|
||||
#ifdef KERNAUX_ENABLE_GUARD
|
||||
#define KERNAUX_ASSERT_RETURN(cond) { KERNAUX_ASSERT(cond); if (!(cond)) return; }
|
||||
#define KERNAUX_ASSERT_RETVAL(cond, val) { KERNAUX_ASSERT(cond); if (!(cond)) return (val); }
|
||||
#else
|
||||
#define KERNAUX_ASSERT_RETURN(cond) { KERNAUX_ASSERT(cond); }
|
||||
#define KERNAUX_ASSERT_RETVAL(cond, val) { KERNAUX_ASSERT(cond); }
|
||||
#endif
|
||||
|
||||
#ifdef KERNAUX_ENABLE_GUARD
|
||||
#define KERNAUX_NOTNULL_RETURN(cond) { KERNAUX_ASSERT(cond); if (!(cond)) return; }
|
||||
#define KERNAUX_NOTNULL_RETVAL(cond, val) { KERNAUX_ASSERT(cond); if (!(cond)) return (val); }
|
||||
#else
|
||||
#define KERNAUX_NOTNULL_RETURN(cond) { KERNAUX_ASSERT(cond); }
|
||||
#define KERNAUX_NOTNULL_RETVAL(cond, val) { KERNAUX_ASSERT(cond); }
|
||||
#endif
|
||||
|
||||
#ifdef KERNAUX_ENABLE_GUARD
|
||||
#define KERNAUX_PANIC_RETURN(msg) { KERNAUX_PANIC(msg); return; }
|
||||
#define KERNAUX_PANIC_RETVAL(msg, val) { KERNAUX_PANIC(msg); return (val); }
|
||||
#else
|
||||
#define KERNAUX_PANIC_RETURN(msg) { KERNAUX_PANIC(msg); }
|
||||
#define KERNAUX_PANIC_RETVAL(msg, val) { KERNAUX_PANIC(msg); }
|
||||
#endif
|
||||
|
||||
#define KERNAUX_ASSERT_RETURN(cond) { KERNAUX_ASSERT(cond); if (!(cond)) return; }
|
||||
#define KERNAUX_ASSERT_RETVAL(cond, val) { KERNAUX_ASSERT(cond); if (!(cond)) return (val); }
|
||||
|
||||
#define KERNAUX_NOTNULL_RETURN(cond) { KERNAUX_ASSERT(cond); if (!(cond)) return; }
|
||||
#define KERNAUX_NOTNULL_RETVAL(cond, val) { KERNAUX_ASSERT(cond); if (!(cond)) return (val); }
|
||||
|
||||
void kernaux_assert_do(const char *file, int line, const char *str);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue