1*7c478bd9Sstevel@tonic-gate /* 2*7c478bd9Sstevel@tonic-gate * Copyright (c) 2001 Sendmail, Inc. and its suppliers. 3*7c478bd9Sstevel@tonic-gate * All rights reserved. 4*7c478bd9Sstevel@tonic-gate * 5*7c478bd9Sstevel@tonic-gate * By using this file, you agree to the terms and conditions set 6*7c478bd9Sstevel@tonic-gate * forth in the LICENSE file which can be found at the top level of 7*7c478bd9Sstevel@tonic-gate * the sendmail distribution. 8*7c478bd9Sstevel@tonic-gate * 9*7c478bd9Sstevel@tonic-gate */ 10*7c478bd9Sstevel@tonic-gate 11*7c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 12*7c478bd9Sstevel@tonic-gate 13*7c478bd9Sstevel@tonic-gate #include <sendmail.h> 14*7c478bd9Sstevel@tonic-gate 15*7c478bd9Sstevel@tonic-gate SM_RCSID("@(#)$Id: err.c,v 8.3 2001/01/24 01:27:30 gshapiro Exp $") 16*7c478bd9Sstevel@tonic-gate 17*7c478bd9Sstevel@tonic-gate #include <ctype.h> 18*7c478bd9Sstevel@tonic-gate 19*7c478bd9Sstevel@tonic-gate /*VARARGS1*/ 20*7c478bd9Sstevel@tonic-gate void 21*7c478bd9Sstevel@tonic-gate #ifdef __STDC__ 22*7c478bd9Sstevel@tonic-gate message(const char *msg, ...) 23*7c478bd9Sstevel@tonic-gate #else /* __STDC__ */ 24*7c478bd9Sstevel@tonic-gate message(msg, va_alist) 25*7c478bd9Sstevel@tonic-gate const char *msg; 26*7c478bd9Sstevel@tonic-gate va_dcl 27*7c478bd9Sstevel@tonic-gate #endif /* __STDC__ */ 28*7c478bd9Sstevel@tonic-gate { 29*7c478bd9Sstevel@tonic-gate const char *m; 30*7c478bd9Sstevel@tonic-gate SM_VA_LOCAL_DECL 31*7c478bd9Sstevel@tonic-gate 32*7c478bd9Sstevel@tonic-gate m = msg; 33*7c478bd9Sstevel@tonic-gate if (isascii(m[0]) && isdigit(m[0]) && 34*7c478bd9Sstevel@tonic-gate isascii(m[1]) && isdigit(m[1]) && 35*7c478bd9Sstevel@tonic-gate isascii(m[2]) && isdigit(m[2]) && m[3] == ' ') 36*7c478bd9Sstevel@tonic-gate m += 4; 37*7c478bd9Sstevel@tonic-gate SM_VA_START(ap, msg); 38*7c478bd9Sstevel@tonic-gate (void) vfprintf(stderr, m, ap); 39*7c478bd9Sstevel@tonic-gate SM_VA_END(ap); 40*7c478bd9Sstevel@tonic-gate (void) fprintf(stderr, "\n"); 41*7c478bd9Sstevel@tonic-gate } 42*7c478bd9Sstevel@tonic-gate 43*7c478bd9Sstevel@tonic-gate /*VARARGS1*/ 44*7c478bd9Sstevel@tonic-gate void 45*7c478bd9Sstevel@tonic-gate #ifdef __STDC__ 46*7c478bd9Sstevel@tonic-gate syserr(const char *msg, ...) 47*7c478bd9Sstevel@tonic-gate #else /* __STDC__ */ 48*7c478bd9Sstevel@tonic-gate syserr(msg, va_alist) 49*7c478bd9Sstevel@tonic-gate const char *msg; 50*7c478bd9Sstevel@tonic-gate va_dcl 51*7c478bd9Sstevel@tonic-gate #endif /* __STDC__ */ 52*7c478bd9Sstevel@tonic-gate { 53*7c478bd9Sstevel@tonic-gate const char *m; 54*7c478bd9Sstevel@tonic-gate SM_VA_LOCAL_DECL 55*7c478bd9Sstevel@tonic-gate 56*7c478bd9Sstevel@tonic-gate m = msg; 57*7c478bd9Sstevel@tonic-gate if (isascii(m[0]) && isdigit(m[0]) && 58*7c478bd9Sstevel@tonic-gate isascii(m[1]) && isdigit(m[1]) && 59*7c478bd9Sstevel@tonic-gate isascii(m[2]) && isdigit(m[2]) && m[3] == ' ') 60*7c478bd9Sstevel@tonic-gate m += 4; 61*7c478bd9Sstevel@tonic-gate SM_VA_START(ap, msg); 62*7c478bd9Sstevel@tonic-gate (void) vfprintf(stderr, m, ap); 63*7c478bd9Sstevel@tonic-gate SM_VA_END(ap); 64*7c478bd9Sstevel@tonic-gate (void) fprintf(stderr, "\n"); 65*7c478bd9Sstevel@tonic-gate } 66