1/* $NetBSD: percent_m.c,v 1.5 2018/01/23 21:06:26 sevan Exp $ */ 2 3 /* 4 * Replace %m by system error message. 5 * 6 * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. 7 */ 8 9#include <sys/cdefs.h> 10#ifndef lint 11#if 0 12static char sccsid[] = "@(#) percent_m.c 1.1 94/12/28 17:42:37"; 13#else 14__RCSID("$NetBSD: percent_m.c,v 1.5 2018/01/23 21:06:26 sevan Exp $"); 15#endif 16#endif 17 18#include <stdio.h> 19#include <errno.h> 20#include <string.h> 21 22#ifndef SYS_ERRLIST_DEFINED 23extern char *sys_errlist[]; 24extern int sys_nerr; 25#endif 26 27#include "mystdarg.h" 28#include "percent_m.h" 29 30char *percent_m(char *obuf, const char *ibuf) 31{ 32 char *bp = obuf; 33 const char *cp = ibuf; 34 35 while ((*bp = *cp) != '\0') 36 if (*cp == '%' && cp[1] == 'm') { 37 strcpy(bp, strerror(errno)); 38 bp += strlen(bp); 39 cp += 2; 40 } else { 41 bp++, cp++; 42 } 43 return (obuf); 44} 45