1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-18 12:33:17 +01:00

Refactored openrct2_assert to not rely on inlining. (#6061)

This commit is contained in:
ζeh Matt
2017-07-29 21:31:54 +02:00
committed by Ted John
parent 2ec0df1f3d
commit 7a5f9e8300
2 changed files with 7 additions and 11 deletions

View File

@@ -34,11 +34,13 @@
extern "C"
{
void openrct2_assert_va(bool expression, const char * message, va_list va)
void openrct2_assert_fwd(bool expression, const char * message, ...)
{
va_list va;
va_start(va, message);
Guard::Assert_VA(expression, message, va);
va_end(va);
}
}
namespace Guard

View File

@@ -22,15 +22,9 @@
extern "C" {
#endif // __cplusplus
void openrct2_assert_va(bool expression, const char * message, va_list va);
static inline void openrct2_assert(bool expression, const char * message, ...)
{
if (!expression) return;
va_list va;
va_start(va, message);
openrct2_assert_va(expression, message, va);
va_end(va);
}
void openrct2_assert_fwd(bool expression, const char * message, ...);
#define openrct2_assert(expr, msg, ...) if(!(expr)) { openrct2_assert_fwd((expr), msg, ##__VA_ARGS__); }
#ifdef __cplusplus
}