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:
Glenn Maynard
2005-04-29 20:15:12 +00:00
parent 48fcd2887f
commit 2de326fb23
2 changed files with 11 additions and 0 deletions
+8
View File
@@ -386,6 +386,14 @@ void RageLog::UnmapLog(const CString &key)
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
* All rights reserved.
+3
View File
@@ -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(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
#define DEBUG_ASSERT(x) ASSERT(x)
#else