6811333 Remove prom_printf() message in emlxs driver
[opensolaris.git] / usr / src / lib / libwrap / percent_m.c
blob0dfc264ea4d7e271753fe15eb9b5a285c3b5e485
1 /*
2 * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5 #pragma ident "%Z%%M% %I% %E% SMI"
7 /*
8 * Replace %m by system error message.
9 *
10 * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
13 #ifndef lint
14 static char sccsid[] = "@(#) percent_m.c 1.1 94/12/28 17:42:37";
15 #endif
17 #include <stdio.h>
18 #include <errno.h>
19 #include <string.h>
21 extern int errno;
22 #ifndef SYS_ERRLIST_DEFINED
23 extern char *sys_errlist[];
24 extern int sys_nerr;
25 #endif
27 #include "mystdarg.h"
29 char *percent_m(obuf, ibuf)
30 char *obuf;
31 char *ibuf;
33 char *bp = obuf;
34 char *cp = ibuf;
36 while (*bp = *cp)
37 if (*cp == '%' && cp[1] == 'm') {
38 if (errno < sys_nerr && errno > 0) {
39 strcpy(bp, sys_errlist[errno]);
40 } else {
41 sprintf(bp, "Unknown error %d", errno);
43 bp += strlen(bp);
44 cp += 2;
45 } else {
46 bp++, cp++;
48 return (obuf);