📄 error.c
字号:
/* $Id: error.c,v 1.16 2006/05/29 14:38:29 relson Exp $ *//*****************************************************************************NAME: error.c -- print and log error messagesAUTHOR: David Relson <relson@osagesoftware.com>******************************************************************************/#include "common.h"#include <stdarg.h>#include <ctype.h>#ifdef HAVE_SYSLOG_H#include <syslog.h>#endif#include "error.h"#ifdef NEEDTRIO#include "trio.h"#endifvoid print_error( const char *file, unsigned long line, const char *format, ... ){ char message[256]; size_t l; va_list ap; va_start(ap, format); l = (size_t)vsnprintf(message, sizeof(message), format, ap); if (l >= sizeof(message)) { /* output was truncated, mark truncation */ strcpy(message + sizeof(message) - 4, "..."); } va_end(ap); /* security: replace unprintable characters by underscore "_" */ for (l = 0; l < strlen(message); l++) if (!isprint((unsigned char)message[l])) message[l] = '_';#if 0 fprintf(stderr, "%s:%lu:", file, line);#endif fprintf(stderr, "%s[%ld]: %s\n", progname, (long)getpid(), message);#ifdef HAVE_SYSLOG_H if (logflag) syslog(LOG_INFO, "%s:%lu: %s", file, line, message );#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -