From: Ted Lemon Date: Thu, 16 May 1996 07:20:51 +0000 (+0000) Subject: Add strerror() function if needed; account for lack of snprintf support X-Git-Tag: BETA-2~128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd05ee6b824157660ebf74a96faf7e2051fdbd8b;p=thirdparty%2Fdhcp.git Add strerror() function if needed; account for lack of snprintf support --- diff --git a/common/errwarn.c b/common/errwarn.c index d29a2d793..3e1c82741 100644 --- a/common/errwarn.c +++ b/common/errwarn.c @@ -184,8 +184,12 @@ int parse_warn (ANSI_DECL (char *) fmt, VA_DOTDOTDOT) va_list list; do_percentm (mbuf, fmt); +#ifndef NO_SNPRINTF snprintf (fbuf, sizeof fbuf, "dhcpd.conf line %d char %d: %s", tline, tlpos, mbuf); +#else + sprintf (fbuf, "dhcpd.conf line %d char %d: %s", tline, tlpos, mbuf); +#endif VA_start (list, fmt); vsnprintf (mbuf, sizeof mbuf, fbuf, list); @@ -198,3 +202,19 @@ int parse_warn (ANSI_DECL (char *) fmt, VA_DOTDOTDOT) #endif return 0; } + +#ifdef NO_STRERROR +char *strerror (err) + int err; +{ + extern char *sys_errlist []; + extern int sys_nerr; + static char errbuf [128]; + + if (err < 0 || err >= sys_nerr) { + sprintf (errbuf, "Error %d", err); + return errbuf; + } + return sys_errlist [err]; +} +#endif /* NO_STRERROR */ diff --git a/errwarn.c b/errwarn.c index d29a2d793..3e1c82741 100644 --- a/errwarn.c +++ b/errwarn.c @@ -184,8 +184,12 @@ int parse_warn (ANSI_DECL (char *) fmt, VA_DOTDOTDOT) va_list list; do_percentm (mbuf, fmt); +#ifndef NO_SNPRINTF snprintf (fbuf, sizeof fbuf, "dhcpd.conf line %d char %d: %s", tline, tlpos, mbuf); +#else + sprintf (fbuf, "dhcpd.conf line %d char %d: %s", tline, tlpos, mbuf); +#endif VA_start (list, fmt); vsnprintf (mbuf, sizeof mbuf, fbuf, list); @@ -198,3 +202,19 @@ int parse_warn (ANSI_DECL (char *) fmt, VA_DOTDOTDOT) #endif return 0; } + +#ifdef NO_STRERROR +char *strerror (err) + int err; +{ + extern char *sys_errlist []; + extern int sys_nerr; + static char errbuf [128]; + + if (err < 0 || err >= sys_nerr) { + sprintf (errbuf, "Error %d", err); + return errbuf; + } + return sys_errlist [err]; +} +#endif /* NO_STRERROR */