📄 die.c
字号:
/* * 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -