Compare commits

...

2 Commits

Author SHA1 Message Date
Bjorn b3b523cdbf
Merge pull request #754 from brainrom/patch-2
Make lovrAssert act like a function
2024-03-03 03:54:13 -08:00
Ilya 4139f0f180
Make lovrAssert act like a function
`do {} while(0)` is the perfect way to make function-like macro act like a real function (require ;, encapsulate local variables)
2024-03-03 14:37:14 +03:00
1 changed files with 1 additions and 1 deletions

View File

@ -37,7 +37,7 @@
typedef void errorFn(void*, const char*, va_list);
void lovrSetErrorCallback(errorFn* callback, void* userdata);
LOVR_NORETURN void lovrThrow(const char* format, ...);
#define lovrAssert(c, ...) if (!(c)) { lovrThrow(__VA_ARGS__); }
#define lovrAssert(c, ...) do { if (!(c)) { lovrThrow(__VA_ARGS__); } } while(0)
#define lovrUnreachable() lovrThrow("Unreachable")
#ifdef LOVR_UNCHECKED