diff options
author | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-01-30 01:10:57 +0000 |
---|---|---|
committer | Thorsten Lockert <tholo@cvs.openbsd.org> | 1996-01-30 01:10:57 +0000 |
commit | 9fc47a17c64634c91b707b33f46f9649bb622dd7 (patch) | |
tree | 0ff1acc044002d482e2f92109ed855e497946d42 /gnu/usr.bin/cvs/lib | |
parent | 285efe518501c0d31600b9106d0d5ba42252213e (diff) |
Integrate local changes
Diffstat (limited to 'gnu/usr.bin/cvs/lib')
-rw-r--r-- | gnu/usr.bin/cvs/lib/error.c | 207 | ||||
-rw-r--r-- | gnu/usr.bin/cvs/lib/error.h | 52 |
2 files changed, 0 insertions, 259 deletions
diff --git a/gnu/usr.bin/cvs/lib/error.c b/gnu/usr.bin/cvs/lib/error.c deleted file mode 100644 index 72f382678c0..00000000000 --- a/gnu/usr.bin/cvs/lib/error.c +++ /dev/null @@ -1,207 +0,0 @@ -/* error.c -- error handler for noninteractive utilities - Copyright (C) 1990-1992 Free Software Foundation, Inc. - - This program 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. - - This program 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* David MacKenzie */ -/* Brian Berliner added support for CVS */ - -#ifndef lint -static char rcsid[] = "$CVSid: @(#)error.c 1.13 94/09/30 $"; -#endif /* not lint */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <stdio.h> - -#ifdef CVS_SUPPORT -/* If non-zero, error will use the CVS protocol to report error - messages. This will only be set in the CVS server parent process; - most other code is run via do_cvs_command, which forks off a child - process and packages up its stderr in the protocol. - - This really is ugly (why should lib/error.c know about the - protocol??), but it's better than a mass munging of all the calls - to error in modules.c. */ -int error_use_protocol; -#endif - -#ifdef HAVE_VPRINTF - -#if __STDC__ -#include <stdarg.h> -#define VA_START(args, lastarg) va_start(args, lastarg) -#else -#include <varargs.h> -#define VA_START(args, lastarg) va_start(args) -#endif - -#else - -#ifdef HAVE_DOPRNT -#define va_alist args -#define va_dcl int args; -#else -#define va_alist a1, a2, a3, a4, a5, a6, a7, a8 -#define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8; -#endif - -#endif - -#if STDC_HEADERS -#include <stdlib.h> -#include <string.h> -#else -#if __STDC__ -void exit(int status); -#else -void exit (); -#endif /* __STDC__ */ -#endif - -extern char *strerror (); - -typedef void (*fn_returning_void) (); - -/* Function to call before exiting. */ -static fn_returning_void cleanup_fn; - -fn_returning_void -error_set_cleanup (arg) - fn_returning_void arg; -{ - fn_returning_void retval = cleanup_fn; - cleanup_fn = arg; - return retval; -} - -/* Print the program name and error message MESSAGE, which is a printf-style - format string with optional args. - If ERRNUM is nonzero, print its corresponding system error message. - Exit with status STATUS if it is nonzero. */ -/* VARARGS */ -void -#if defined (HAVE_VPRINTF) && __STDC__ -error (int status, int errnum, char *message, ...) -#else -error (status, errnum, message, va_alist) - int status; - int errnum; - char *message; - va_dcl -#endif -{ - FILE *out = stderr; - extern char *program_name; -#ifdef CVS_SUPPORT - extern char *command_name; -#endif -#ifdef HAVE_VPRINTF - va_list args; -#endif - -#ifdef CVS_SUPPORT - if (error_use_protocol) - { - out = stdout; - printf ("E "); - } -#endif - -#ifdef CVS_SUPPORT - if (command_name && *command_name) - if (status) - fprintf (out, "%s [%s aborted]: ", program_name, command_name); - else - fprintf (out, "%s %s: ", program_name, command_name); - else - fprintf (out, "%s: ", program_name); -#else - fprintf (out, "%s: ", program_name); -#endif -#ifdef HAVE_VPRINTF - VA_START (args, message); - vfprintf (out, message, args); - va_end (args); -#else -#ifdef HAVE_DOPRNT - _doprnt (message, &args, out); -#else - fprintf (out, message, a1, a2, a3, a4, a5, a6, a7, a8); -#endif -#endif - if (errnum) - fprintf (out, ": %s", strerror (errnum)); - putc ('\n', out); - fflush (out); - if (status) - { - if (cleanup_fn) - (*cleanup_fn) (); - exit (status); - } -} - -#ifdef CVS_SUPPORT - -/* Print the program name and error message MESSAGE, which is a printf-style - format string with optional args to the file specified by FP. - If ERRNUM is nonzero, print its corresponding system error message. - Exit with status STATUS if it is nonzero. */ -/* VARARGS */ -void -#if defined (HAVE_VPRINTF) && __STDC__ -fperror (FILE *fp, int status, int errnum, char *message, ...) -#else -fperror (fp, status, errnum, message, va_alist) - FILE *fp; - int status; - int errnum; - char *message; - va_dcl -#endif -{ - extern char *program_name; -#ifdef HAVE_VPRINTF - va_list args; -#endif - - fprintf (fp, "%s: ", program_name); -#ifdef HAVE_VPRINTF - VA_START (args, message); - vfprintf (fp, message, args); - va_end (args); -#else -#ifdef HAVE_DOPRNT - _doprnt (message, &args, fp); -#else - fprintf (fp, message, a1, a2, a3, a4, a5, a6, a7, a8); -#endif -#endif - if (errnum) - fprintf (fp, ": %s", strerror (errnum)); - putc ('\n', fp); - fflush (fp); - if (status) - { - if (cleanup_fn) - (*cleanup_fn) (); - exit (status); - } -} - -#endif /* CVS_SUPPORT */ diff --git a/gnu/usr.bin/cvs/lib/error.h b/gnu/usr.bin/cvs/lib/error.h deleted file mode 100644 index a963e115f0b..00000000000 --- a/gnu/usr.bin/cvs/lib/error.h +++ /dev/null @@ -1,52 +0,0 @@ -/* error.h -- declaration for error-reporting function - Copyright (C) 1995 Software Foundation, Inc. - - This program 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. - - This program 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef _error_h_ -#define _error_h_ - -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__ -# define __attribute__(Spec) /* empty */ -# endif -/* The __-protected variants of `format' and `printf' attributes - are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7) -# define __format__ format -# define __printf__ printf -# endif -#endif - -#if __STDC__ -void error (int, int, const char *, ...) \ - __attribute__ ((__format__ (__printf__, 3, 4))); -#else -void error (); -#endif - -/* This variable is incremented each time `error' is called. */ -extern unsigned int error_message_count; - -#ifdef CVS_SUPPORT -/* If non-zero, error will use the CVS protocol to report error - messages. This will only be set in the CVS server parent process; - most other code is run via do_cvs_command, which forks off a child - process and packages up its stderr in the protocol. */ -extern int error_use_protocol; -#endif - -#endif /* _error_h_ */ |