summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/sockets/config.m41
-rw-r--r--ext/sockets/sockets.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4
index aa3a4606b3..af99809231 100644
--- a/ext/sockets/config.m4
+++ b/ext/sockets/config.m4
@@ -6,6 +6,7 @@ PHP_ARG_ENABLE(sockets, whether to enable sockets support,
if test "$PHP_SOCKETS" != "no"; then
+ AC_CHECK_FUNCS(hstrerror)
AC_CHECK_HEADERS(netdb.h netinet/tcp.h sys/un.h errno.h)
AC_DEFINE(HAVE_SOCKETS, 1, [ ])
diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
index ce86c6452f..bc1f04914f 100644
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
@@ -962,7 +962,14 @@ PHP_FUNCTION(socket_strerror)
#ifndef PHP_WIN32
if (Z_LVAL_PP(arg1) < -10000) {
Z_LVAL_PP(arg1) += 10000;
- buf = hstrerror(-(Z_LVAL_PP(arg1)));
+#ifdef HAVE_HSTRERROR
+ buf = hstrerror(-(Z_LVAL_PP(arg1)));
+#else
+ {
+ static char buf[100];
+ sprintf (buf, "Host lookup error %d", -(Z_LVAL_PP(arg1)));
+ }
+#endif
} else {
buf = strerror(-(Z_LVAL_PP(arg1)));
}