📄 panic.c
字号:
/** System error manager** Nicolas Christopoulos** This program is distributed under the terms of the GPL v2.0 or later* Download the GNU Public License (GPL) from www.gnu.org*/#include <stdarg.h>#include "sys.h"#if defined(_PalmOS)// #define ERROR_CHECK_LEVEL 2// defined by PalmOpt...h#elif defined(_WinGUI) || defined(_Win32) #include <windows.h>#endif#if defined(_BCB_W32_IDE) #include "win32/bcb.h"#endif#include "panic.h"#if defined(_PalmOS)static char preload_panic_buffer[256];#elsestatic char preload_panic_buffer[1024];#endif/***/void panic(const char *fmt, ...){ va_list ap; va_start(ap, fmt); #if defined(_PalmOS) StrVPrintF(preload_panic_buffer, fmt, ap); #else vsprintf(preload_panic_buffer, fmt, ap); #endif va_end(ap); #if defined(_BCB_W32_IDE) bcb_mgrerr("%s", preload_panic_buffer); #elif defined(_WinGUI) || defined(_Win32) MessageBox(NULL, preload_panic_buffer, "SB Panic", MB_OK); #elif defined(_UnixOS) fprintf(stderr, "\n\nPANIC: %s\a\n\n", preload_panic_buffer); fflush(stderr); abort(); #elif defined(_PalmOS) ErrDisplay(preload_panic_buffer); #endif}/***/void warning(const char *fmt, ...){ va_list ap; va_start(ap, fmt); #if defined(_PalmOS) StrVPrintF(preload_panic_buffer, fmt, ap); #else vsprintf(preload_panic_buffer, fmt, ap); #endif va_end(ap); #if defined(_WinGUI) || defined(_Win32) MessageBox(NULL, preload_panic_buffer, "SB Warning", MB_OK); #elif defined(_UnixOS) fprintf(stderr, preload_panic_buffer); #else ErrNonFatalDisplay(preload_panic_buffer); #endif}/***/void debug(const char *fmt, ...){ va_list ap; va_start(ap, fmt); strcpy(preload_panic_buffer,"DEBUG: "); #if defined(_UnixOS) || defined(_Win32) vsprintf(&preload_panic_buffer[7], fmt, ap); #else StrVPrintF(&preload_panic_buffer[7], fmt, ap); #endif va_end(ap); #if defined(_WinGUI) || defined(_Win32) MessageBox(NULL, preload_panic_buffer, "SB Debug", MB_OK); #elif defined(_UnixOS) fprintf(stderr, preload_panic_buffer); #else ErrNonFatalDisplay(preload_panic_buffer); #endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -