Imported Upstream version 2.6.0
[debian/amanda] / common-src / error.c
diff --git a/common-src/error.c b/common-src/error.c
deleted file mode 100644 (file)
index ade2e40..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Amanda, The Advanced Maryland Automatic Network Disk Archiver
- * Copyright (c) 1991-1998 University of Maryland at College Park
- * All Rights Reserved.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of U.M. not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  U.M. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
- * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: James da Silva, Systems Design and Analysis Group
- *                        Computer Science Department
- *                        University of Maryland at College Park
- */
-/*
- * $Id: error.c,v 1.19 2006/05/25 01:47:11 johnfranks Exp $
- *
- * error handling common to Amanda programs
- */
-#include "amanda.h"
-#include "arglist.h"
-
-#define MAXFUNCS 8
-
-typedef void (*voidfunc)(void);
-static voidfunc onerr[MAXFUNCS] = 
-    { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL };
-
-int erroutput_type = ERR_INTERACTIVE;
-
-static char *pname = "unknown";
-
-static void output_error_message(char *msg);
-
-static void (*logerror)(char *) = NULL;
-
-void
-set_pname(
-    char *     p)
-{
-    pname = p;
-}
-
-char *
-get_pname(void)
-{
-    return pname;
-}
-
-void
-set_logerror(
-    void (*f)(char *))
-{
-    logerror = f;
-}
-
-
-static void
-output_error_message(
-    char *     msg)
-{
-    /* print and/or log message */
-
-    if((erroutput_type & ERR_AMANDALOG) != 0 && logerror != NULL) {
-       (*logerror)(msg);
-    }
-
-    if(erroutput_type & ERR_SYSLOG) {
-#ifdef LOG_AUTH
-       openlog(get_pname(), LOG_PID, LOG_AUTH);
-#else
-       openlog(get_pname(), LOG_PID, 0);
-#endif
-       syslog(LOG_NOTICE, "%s", msg);
-       closelog();
-    }
-
-    if(erroutput_type & ERR_INTERACTIVE) {
-       fprintf(stderr, "%s: %s\n", get_pname(), msg);
-       fflush(stderr);
-    }
-
-    if(dbfp() != NULL) {
-       dbprintf(("%s: %s\n", debug_prefix_time(NULL), msg));
-       dbclose();
-    }
-}
-
-
-/*
- * Prints an error message, calls the functions installed via onerror(),
- * then exits.
- */
-printf_arglist_function(void error, const char *, format)
-{
-    va_list argp;
-    int i;
-    char linebuf[STR_SIZE];
-
-
-    /* format and output the error message */
-
-    arglist_start(argp, format);
-    vsnprintf(linebuf, SIZEOF(linebuf), format, argp);
-    arglist_end(argp);
-    output_error_message(linebuf);
-
-    /* traverse function list, calling in reverse order */
-
-    for(i=MAXFUNCS-1; i >= 0; i--) {
-       if(onerr[i] != NULL) (*onerr[i])();
-    }
-
-    /* terminate */
-    exit(1);
-}
-
-
-/*
- * Prints an error message, calls the functions installed via onerror(),
- * then calls abort() to drop core.
- */
-printf_arglist_function(void errordump, const char *, format)
-{
-    va_list argp;
-    int i;
-    char linebuf[STR_SIZE];
-
-    /* format error message */
-
-    arglist_start(argp, format);
-    vsnprintf(linebuf, SIZEOF(linebuf), format, argp);
-    arglist_end(argp);
-    output_error_message(linebuf);
-
-    /* traverse function list, calling in reverse order */
-
-    for(i=MAXFUNCS-1; i >= 0; i--) {
-       if(onerr[i] != NULL) (*onerr[i])();
-    }
-
-    /* terminate and drop core */
-    abort();
-}
-
-
-/*
- * Register function to be called when error is called.  Up to MAXFUNCS
- * functions can be registered.  If there isn't room in the table, onerror
- * returns -1, otherwise it returns 0.
- *
- * The resemblance to atexit() is on purpose.  I wouldn't need onerror()
- * if everyone had atexit().  Bummer.
- */
-
-int
-onerror(
-    void       (*errf)(void))
-{
-    int i;
-
-    for(i=0; i < MAXFUNCS; i++)                /* find empty slot */
-       if(onerr[i] == NULL) {
-           onerr[i] = errf;
-           return 0;
-       }
-
-    return -1;                         /* full table */
-}