2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 /*------------------------------------------------------------------------
14 * Getting messages printed to the outside world.
16 *------------------------------------------------------------------------*/
19 /* VARARGS1 */ fatal(cp)
26 /* VARARGS1 */ message(cp)
33 /* VARARGS1 */ loudonly_message(cp)
40 /* VARARGS1 */ verbose_message(cp)
48 #include <afs/param.h>
49 #include <sys/types.h>
51 /* XXX Hack for the va_arg decl below XXX */
60 putnum(register char *dp, register unsigned n, register int b)
64 for (s = b; n / s; s *= b)
68 *dp++ = '0' + (n / s);
78 putstr(register char *dp, register char *s)
89 putformat(register char *dp, register char *fp, register va_list ap)
113 dp = putnum(dp, (unsigned)d, 10);
120 extern char *sys_errlist[];
122 if (errno >= 0 && errno < sys_nerr)
123 dp = putstr(dp, sys_errlist[errno]);
125 dp = putstr(dp, "Unknown error (errorno =");
126 dp = putnum(dp, (unsigned)errno, 10);
127 dp = putstr(dp, ")");
137 dp = putnum(dp, o, 8);
145 s = va_arg(ap, char *);
155 dp = putnum(dp, u, 10);
164 dp = putnum(dp, x, 16);
219 fp = va_arg(ap, char *);
220 dp = putformat(line, fp, ap);
222 (void)write(2, line, dp - line);
236 fp = va_arg(ap, char *);
237 dp = putformat(line, fp, ap);
239 (void)write(1, line, dp - line);
243 loudonly_message(va_alist)
245 { /*loudonly_message */
253 fp = va_arg(ap, char *);
254 dp = putformat(line, fp, ap);
256 (void)write(1, line, dp - line);
259 } /*loudonly_message */
261 verbose_message(va_alist)
263 { /*verbose_message */
271 fp = va_arg(ap, char *);
272 dp = putformat(line, fp, ap);
274 (void)write(1, line, dp - line);
277 } /*verbose_message */
279 debug_message(va_alist)
289 fp = va_arg(ap, char *);
290 dp = putformat(line, fp, ap);
292 (void)write(1, line, dp - line);