cleaned up comments
[unix-history] / usr / src / usr.sbin / sendmail / src / err.c
CommitLineData
b3cbe40f
EA
1# include <stdio.h>
2# include "dlvrmail.h"
3# ifdef LOG
4# include <log.h>
5# endif LOG
6
f895a45d 7static char SccsId[] = "@(#)err.c 1.3 %G%";
916b3375 8
b3cbe40f
EA
9/*
10** ERR -- Print error message.
11**
12** Prints an error message via printf to the diagnostic
13** output. If LOG is defined, it logs it also.
14**
15** Parameters:
16** f -- the format string
17** a, b, c, d, e -- parameters
18**
19** Returns:
20** -1 always
21**
22** Side Effects:
23** Sets Error.
24** Sets ExitStat.
b3cbe40f
EA
25*/
26
27/*VARARGS1*/
28syserr(fmt, a, b, c, d, e)
29 char *fmt;
30{
31 extern int errno;
32 static char errbuf[MAXLINE+1];
33 register char *p;
34 extern char *sys_errlist[];
35 extern int sys_nerr;
36
37 sprintf(errbuf, fmt, a, b, c, d, e);
38 if (errno != 0)
39 {
40 p = &errbuf[strlen(errbuf)];
41 if (errno < sys_nerr && errno > 0)
42 sprintf(p, ": %s", sys_errlist[errno]);
43 else
44 sprintf(p, ": error %d", errno);
45 }
46 printf("delivermail: %s\n", errbuf);
47 Error++;
48
49 /* determine exit status if not already set */
50 if (ExitStat == EX_OK)
51 {
52 if (errno == 0)
53 ExitStat = EX_SOFTWARE;
54 else
55 ExitStat = EX_UNAVAIL;
56 }
57
58# ifdef LOG
59 logmsg(LOG_ERR, "%s->%s: %s", From.q_paddr, To, errbuf);
60# endif LOG
61 errno = 0;
62 return (-1);
63}
64\f/*
65** USRERR -- Signal user error.
66**
67** This is much like syserr except it is for user errors.
68**
69** Parameters:
70** fmt, a, b, c, d -- printf strings
71**
72** Returns:
73** -1
74**
75** Side Effects:
76** sets Error.
b3cbe40f
EA
77*/
78
79/*VARARGS1*/
80usrerr(fmt, a, b, c, d, e)
81 char *fmt;
82{
83 extern char SuprErrs;
84
85 if (SuprErrs)
86 return;
87
88 Error++;
89 if (To != NULL)
90 printf("%s... ", To);
91 printf(fmt, a, b, c, d, e);
92 printf("\n");
93 return (-1);
94}