summaryrefslogtreecommitdiff
path: root/core/tcp_wrappers/08_all_strerror.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/tcp_wrappers/08_all_strerror.patch')
-rw-r--r--core/tcp_wrappers/08_all_strerror.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/core/tcp_wrappers/08_all_strerror.patch b/core/tcp_wrappers/08_all_strerror.patch
new file mode 100644
index 000000000..426791a8f
--- /dev/null
+++ b/core/tcp_wrappers/08_all_strerror.patch
@@ -0,0 +1,27 @@
+--- tcp-wrappers-7.6/percent_m.c
++++ tcp-wrappers-7.6/percent_m.c
+@@ -13,7 +13,7 @@
+ #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 @@
+
+ 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 {