summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/config.m41
-rw-r--r--ext/standard/php_dns.h6
2 files changed, 7 insertions, 0 deletions
diff --git a/ext/standard/config.m4 b/ext/standard/config.m4
index c73dace754..af85604bea 100644
--- a/ext/standard/config.m4
+++ b/ext/standard/config.m4
@@ -340,6 +340,7 @@ dnl Detect library functions needed by php dns_xxx functions
dnl ext/standard/php_dns.h will collect these in a single define: HAVE_FULL_DNS_FUNCS
dnl
PHP_CHECK_FUNC(res_nsearch, resolv, bind, socket)
+PHP_CHECK_FUNC(res_ndestroy, resolv, bind, socket)
PHP_CHECK_FUNC(dns_search, resolv, bind, socket)
PHP_CHECK_FUNC(dn_expand, resolv, bind, socket)
PHP_CHECK_FUNC(dn_skipname, resolv, bind, socket)
diff --git a/ext/standard/php_dns.h b/ext/standard/php_dns.h
index 8e6931d45a..6f80d5d69f 100644
--- a/ext/standard/php_dns.h
+++ b/ext/standard/php_dns.h
@@ -32,9 +32,15 @@
#elif defined(HAVE_RES_NSEARCH)
#define php_dns_search(res, dname, class, type, answer, anslen) \
res_nsearch(res, dname, class, type, answer, anslen);
+#if HAVE_RES_NDESTROY
+#define php_dns_free_handle(res) \
+ res_ndestroy(res); \
+ php_dns_free_res(res)
+#else
#define php_dns_free_handle(res) \
res_nclose(res); \
php_dns_free_res(res)
+#endif
#elif defined(HAVE_RES_SEARCH)
#define php_dns_search(res, dname, class, type, answer, anslen) \