die.c
来自「代码检索工具GLOBAL源码。可用来浏览分析LINUX源码。」· C语言 代码 · 共 161 行
C
161 行
/* * Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003 * Tama Communications Corporation * * This file is part of GNU GLOBAL. * * GNU GLOBAL is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU GLOBAL is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <stdio.h>#ifdef STDC_HEADERS#include <stdlib.h>#endif#include "die.h"static int quiet;static int verbose;static int debug;static void (*exit_proc)();voidsetquiet(void){ quiet = 1;}voidsetverbose(void){ verbose = 1;}voidsetdebug(void){ debug = 1;}voidsethandler(proc) void (*proc)();{ exit_proc = proc;}void#ifdef HAVE_STDARG_Hdie(const char *s, ...)#elsedie(s, va_alist) const char *s; va_dcl#endif{ va_list ap; if (!quiet) { fprintf(stderr, "%s: ", progname);#ifdef HAVE_STDARG_H va_start(ap, s);#else va_start(ap);#endif (void)vfprintf(stderr, s, ap); va_end(ap); fputs("\n", stderr); } if (exit_proc) (*exit_proc)(); if (debug) abort(); exit(1);}void#ifdef HAVE_STDARG_Hdie_with_code(int n, const char *s, ...)#elsedie_with_code(n, s, va_alist) int n; const char *s; va_dcl#endif{ va_list ap; if (!quiet) { fprintf(stderr, "%s: ", progname);#ifdef HAVE_STDARG_H va_start(ap, s);#else va_start(ap);#endif (void)vfprintf(stderr, s, ap); va_end(ap); fputs("\n", stderr); } if (exit_proc) (*exit_proc)(); if (debug) abort(); exit(n);}void#ifdef HAVE_STDARG_Hmessage(const char *s, ...)#elsemessage(s, va_alist) const char *s; va_dcl#endif{ va_list ap; if (!quiet && verbose) {#ifdef HAVE_STDARG_H va_start(ap, s);#else va_start(ap);#endif (void)vfprintf(stderr, s, ap); va_end(ap); fputs("\n", stderr); }}void#ifdef HAVE_STDARG_Hwarning(const char *s, ...)#elsewarning(s, va_alist) const char *s; va_dcl#endif{ va_list ap; if (!quiet) { fputs("Warning: ", stderr);#ifdef HAVE_STDARG_H va_start(ap, s);#else va_start(ap);#endif (void)vfprintf(stderr, s, ap); va_end(ap); fputs("\n", stderr); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?