revert this for now. We do FAIL_M(s()), where s() returns a CString; doing this

causes the return value to go out of scope, and the char* to be invalid.
This commit is contained in:
Glenn Maynard
2006-01-01 05:48:06 +00:00
parent f10898b806
commit 831c4860f5
+1 -1
View File
@@ -101,7 +101,7 @@ void NORETURN sm_crash( const char *reason = "Internal error" );
* we get a backtrace. This should probably be used instead of throwing an
* exception in most cases we expect never to happen (but not in cases that
* we do expect, such as DSound init failure.) */
#define FAIL_M(MESSAGE) do { const char *pStr = (MESSAGE); CHECKPOINT_M(pStr); sm_crash(pStr); } while(0)
#define FAIL_M(MESSAGE) do { CHECKPOINT_M(MESSAGE); sm_crash(MESSAGE); } while(0)
#define ASSERT_M(COND, MESSAGE) do { if(unlikely(!(COND))) { FAIL_M(MESSAGE); } } while(0)
#if !defined(CO_EXIST_WITH_MFC)
#define ASSERT(COND) ASSERT_M((COND), "Assertion '" #COND "' failed")