# HG changeset patch # User Jonathan G Rennison # Date 2016-09-05 00:18:09 # Node ID 0dbd28aa2fc47458aed6761ee7a4760dcacd0bf9 # Parent f038998948c2f414188416a45c4b045afc92e528 Codechange: Add support for verbose asserts diff --git a/src/openttd.cpp b/src/openttd.cpp --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -129,7 +129,7 @@ void CDECL usererror(const char *s, ...) void CDECL error(const char *s, ...) { va_list va; - char buf[512]; + char buf[2048]; va_start(va, s); vseprintf(buf, lastof(buf), s, va); diff --git a/src/stdafx.h b/src/stdafx.h --- a/src/stdafx.h +++ b/src/stdafx.h @@ -430,6 +430,9 @@ void NORETURN CDECL error(const char *st /* Asserts are enabled if NDEBUG isn't defined or WITH_ASSERT is defined. */ #if !defined(NDEBUG) || defined(WITH_ASSERT) # define OTTD_ASSERT +# define assert_msg(expression, msg, ...) if (!(expression)) error("Assertion failed at line %i of %s: %s\n\t" msg, __LINE__, __FILE__, #expression, __VA_ARGS__); +#else +# define assert_msg(expression, msg, ...) #endif #if defined(OPENBSD)