ASSERT is too assertive. If it's probably possible to continue past
an unexpected case, it's better to warn loudly and then move on, instead of crashing.
This commit is contained in:
@@ -386,6 +386,14 @@ void RageLog::UnmapLog(const CString &key)
|
|||||||
UpdateMappedLog();
|
UpdateMappedLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ShowWarning( const char *file, int line, const char *message )
|
||||||
|
{
|
||||||
|
if( LOG != NULL )
|
||||||
|
LOG->Warn( "%s:%i: %s", file, line, message );
|
||||||
|
else
|
||||||
|
fprintf( stderr, "%s:%i: %s", file, line, message );
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2004 Chris Danford, Glenn Maynard
|
* Copyright (c) 2001-2004 Chris Danford, Glenn Maynard
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
|||||||
@@ -106,6 +106,9 @@ void NORETURN sm_crash( const char *reason = "Internal error" );
|
|||||||
#define ASSERT_M(COND, MESSAGE) { if(!(COND)) { FAIL_M(MESSAGE); } }
|
#define ASSERT_M(COND, MESSAGE) { if(!(COND)) { FAIL_M(MESSAGE); } }
|
||||||
#define ASSERT(COND) ASSERT_M((COND), "Assertion '" #COND "' failed")
|
#define ASSERT(COND) ASSERT_M((COND), "Assertion '" #COND "' failed")
|
||||||
|
|
||||||
|
void ShowWarning( const char *file, int line, const char *message ); // don't pull in LOG here
|
||||||
|
#define WARN(MESSAGE) (ShowWarning(__FILE__, __LINE__, MESSAGE))
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define DEBUG_ASSERT(x) ASSERT(x)
|
#define DEBUG_ASSERT(x) ASSERT(x)
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user