summaryrefslogtreecommitdiff
path: root/package/tcp_wrappers/patches/patch-percent_m_c
diff options
context:
space:
mode:
Diffstat (limited to 'package/tcp_wrappers/patches/patch-percent_m_c')
-rw-r--r--package/tcp_wrappers/patches/patch-percent_m_c27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/tcp_wrappers/patches/patch-percent_m_c b/package/tcp_wrappers/patches/patch-percent_m_c
new file mode 100644
index 000000000..524b63204
--- /dev/null
+++ b/package/tcp_wrappers/patches/patch-percent_m_c
@@ -0,0 +1,27 @@
+--- tcp_wrappers_7.6.orig/percent_m.c 1994-12-28 17:42:37.000000000 +0100
++++ tcp_wrappers_7.6/percent_m.c 2009-06-05 18:45:03.000000000 +0200
+@@ -13,7 +13,7 @@ static char sccsid[] = "@(#) percent_m.c
+ #include <string.h>
+
+ extern int errno;
+-#ifndef SYS_ERRLIST_DEFINED
++#if !defined(SYS_ERRLIST_DEFINED) && !defined(HAVE_STRERROR)
+ extern char *sys_errlist[];
+ extern int sys_nerr;
+ #endif
+@@ -29,11 +29,15 @@ char *ibuf;
+
+ while (*bp = *cp)
+ if (*cp == '%' && cp[1] == 'm') {
++#ifdef HAVE_STRERROR
++ strcpy(bp, strerror(errno));
++#else
+ if (errno < sys_nerr && errno > 0) {
+ strcpy(bp, sys_errlist[errno]);
+ } else {
+ sprintf(bp, "Unknown error %d", errno);
+ }
++#endif
+ bp += strlen(bp);
+ cp += 2;
+ } else {