X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/1c15e88899094343f75aeba04122cd96a96b428e..ad7871609881e73855d0b04da49b486cd93efca7:/usr/src/usr.sbin/sendmail/src/sysexits.c diff --git a/usr/src/usr.sbin/sendmail/src/sysexits.c b/usr/src/usr.sbin/sendmail/src/sysexits.c index e639c92c66..fff3783f91 100644 --- a/usr/src/usr.sbin/sendmail/src/sysexits.c +++ b/usr/src/usr.sbin/sendmail/src/sysexits.c @@ -1,74 +1,67 @@ /* * Copyright (c) 1983 Eric P. Allman - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. + * Copyright (c) 1988, 1993 + * The Regents of the University of California. All rights reserved. * - * Redistribution and use in source and binary forms are permitted provided - * that: (1) source distributions retain this entire copyright notice and - * comment, and (2) distributions including binaries display the following - * acknowledgement: ``This product includes software developed by the - * University of California, Berkeley and its contributors'' in the - * documentation or other materials provided with the distribution and in - * all advertising materials mentioning features or use of this software. - * Neither the name of the University nor the names of its contributors may - * be used to endorse or promote products derived from this software without - * specific prior written permission. - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. */ #ifndef lint -static char sccsid[] = "@(#)sysexits.c 5.6 (Berkeley) 6/1/90"; +static char sccsid[] = "@(#)sysexits.c 8.1 (Berkeley) 6/7/93"; #endif /* not lint */ #include /* - * SYSEXITS.C -- error messages corresponding to sysexits.h - */ -char *SysExMsg[] = { - /* 64 USAGE */ "500 Bad usage", - /* 65 DATAERR */ "501 Data format error", - /* 66 NOINPUT */ "550 Cannot open input", - /* 67 NOUSER */ "550 User unknown", - /* 68 NOHOST */ "550 Host unknown", - /* 69 UNAVAILABLE */ "554 Service unavailable", - /* 70 SOFTWARE */ "554 Internal error", - /* 71 OSERR */ "451 Operating system error", - /* 72 OSFILE */ "554 System file missing", - /* 73 CANTCREAT */ "550 Can't create output", - /* 74 IOERR */ "451 I/O error", - /* 75 TEMPFAIL */ "250 Deferred", - /* 76 PROTOCOL */ "554 Remote protocol error", - /* 77 NOPERM */ "550 Insufficient permission", - /* 78 CONFIG */ "554 Local configuration error", -}; +** SYSEXITS.C -- error messages corresponding to sysexits.h +** +** If the first character of the string is a colon, interpolate +** the current errno after the rest of the string. +*/ -int N_SysEx = sizeof(SysExMsg) / sizeof(SysExMsg[0]); - -/* - * STATSTRING -- return string corresponding to an error status - * - * Parameters: - * stat -- the status to decode. - * - * Returns: - * The string corresponding to that status - * - * Side Effects: - * none. - */ -char * -statstring(stat) - int stat; +char *SysExMsg[] = { - static char ebuf[50]; + /* 64 USAGE */ " 500 Bad usage", + /* 65 DATAERR */ " 501 Data format error", + /* 66 NOINPUT */ ":550 Cannot open input", + /* 67 NOUSER */ " 550 User unknown", + /* 68 NOHOST */ " 550 Host unknown", + /* 69 UNAVAILABLE */ " 554 Service unavailable", + /* 70 SOFTWARE */ ":554 Internal error", + /* 71 OSERR */ ":451 Operating system error", + /* 72 OSFILE */ ":554 System file missing", + /* 73 CANTCREAT */ ":550 Can't create output", + /* 74 IOERR */ ":451 I/O error", + /* 75 TEMPFAIL */ " 250 Deferred", + /* 76 PROTOCOL */ " 554 Remote protocol error", + /* 77 NOPERM */ ":550 Insufficient permission", + /* 78 CONFIG */ " 554 Local configuration error", +}; - stat -= EX__BASE; - if (stat < 0 || stat >= N_SysEx) { - (void)sprintf(ebuf, "554 Unknown status %d", stat + EX__BASE); - return(ebuf); - } - return(SysExMsg[stat]); -} +int N_SysEx = sizeof(SysExMsg) / sizeof(SysExMsg[0]);