// panic.cpp // This file is (C) 2003-2004 Royce Mitchell III // and released under the BSD & LGPL licenses #include #include #include #ifdef WIN32 #include #include #endif//WIN32 #include "panic.h" void panic ( const char* format, ... ) { va_list arg; int done; va_start(arg, format); #if defined(WIN32) && !defined(_CONSOLE) char buf[4096]; _vsnprintf ( buf, sizeof(buf)-1, format, arg ); MessageBox ( NULL, buf, "Panic!", MB_OK|MB_ICONEXCLAMATION ); #else done = vprintf(format, arg); printf ( "\n" ); #endif va_end(arg); #if defined(WIN32) && defined(_CONSOLE) printf ( "Press any key to exit\n" ); (void)getch(); #endif//WIN32 && _CONSOLE exit ( -1 ); }