diff options
Diffstat (limited to 'core/tcp_wrappers/08_all_strerror.patch')
-rw-r--r-- | core/tcp_wrappers/08_all_strerror.patch | 27 |
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 { |