⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 error.c

📁 项目描述: slsnif is a serial port logging utility. It listens to the specified serial port and logs all
💻 C
字号:
/* error.c: this file contains an error function */#include <stdio.h>#include <ctype.h>#include "xtdio.h"/* ------------------------------------------------------------------------ * Definitions: */#define TERMINATE	1#ifdef vmsvoid exit(int);#endif#ifdef MSDOSextern void exit(int);#endif/* ------------------------------------------------------------------------ * Global Variables: */#ifdef __PROTOTYPE__void (*error_exit)(int)= exit;	/* user may override this		*/#elsevoid (*error_exit)()= exit;		/* user may override this		*/#endif/* ------------------------------------------------------------------------ * Source Code: *//*VARARGS*//* error: print out an error message: *		error(severity,fmt,...) * or	error(severity,errfunc,fmt,...) * * where * *	severity: severity of error *		XTDIO_SEVERE  : severe error    - will terminate *		XTDIO_ERROR   : error           - will terminate *		XTDIO_WARNING : warning message *		XTDIO_NOTE    : notification * *	fmt    : printf format specification *	...    : arguments for the fmt * *	errfunc:  *	         will be called */#ifdef __PROTOTYPE__void error(  int severity,  char *fmt,  ...)#else	/* __PROTOTYPE__ */void error(severity,fmt,va_alist)int severity;char *fmt;va_dcl#endif	/* __PROTOTYPE__ */{va_list args;static struct mesgstr {	char *bgn_color;	char *message;	char *end_color;	int  flags;	} mesg[]={	{XRED,    "fatal error",XGREEN,TERMINATE},				/* SEVERE	*/	{XRED,    "error",      XGREEN,TERMINATE},				/* ERROR	*/	{XYELLOW, "warning",    XGREEN,0},						/* WARNING	*/	{XCYAN,   "note",       XGREEN,0}						/* NOTE		*/	};static int nmesg= sizeof(mesg)/sizeof(struct mesgstr);/* severity sanity checks */if(severity < 0)      severity= 0;if(severity >= nmesg) severity= XTDIO_SEVERE;rdcputs(mesg[severity].bgn_color,stderr);fprintf(stderr,"***%s*** ",mesg[severity].message);rdcputs(mesg[severity].end_color,stderr);/* initialize for variable arglist handling */#ifdef __PROTOTYPE__va_start(args,fmt);vfprintf(stderr,fmt,args);va_end(args);#elseva_start(args);vfprintf(stderr,fmt,args);va_end(args);#endif/* terminate */if(mesg[severity].flags & TERMINATE) (*error_exit)(1);}/* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -