version #2; -f flag, remove home_dir, redist per folder
[unix-history] / usr / src / libexec / bugfiler / error.c
... / ...
CommitLineData
1/*
2 * Copyright (c) 1986 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 */
6
7#ifndef lint
8static char sccsid[] = "@(#)error.c 5.3 (Berkeley) 87/04/11";
9#endif not lint
10
11#include <bug.h>
12#include <syslog.h>
13#include <stdio.h>
14
15static short err_redir; /* stderr redirected */
16
17/*
18 * seterr --
19 * redirect stderr for error processing
20 */
21seterr()
22{
23 if (!freopen(ERROR_FILE, "a", stderr))
24 error("can't open error file %s.\n", ERROR_FILE);
25 err_redir = YES;
26}
27
28/*
29 * error --
30 * write errors to log file and die
31 */
32error(fmt, arg)
33 register char *fmt,
34 *arg;
35{
36 static char logmsg[MAXLINELEN]; /* syslog message */
37 char *strcpy(), *strcat();
38
39 if (err_redir) {
40 /* don't combine these, "fmt" may not require "arg" */
41 fputc('\t', stderr);
42 fprintf(stderr, fmt, arg);
43 fprintf(stderr, "\n\ttemporary file is %s.\n", tmpname);
44 }
45 else {
46 sprintf(logmsg, "bugfiler: %s", fmt);
47 syslog(LOG_ERR, logmsg, arg);
48 }
49#ifdef METOO
50 exit(ERR);
51#else
52 exit(OK);
53#endif
54}