From: Michael Wallner Date: Fri, 8 Aug 2014 07:54:36 +0000 (+0200) Subject: only c-ares does the htons() prt num conversion for us X-Git-Tag: RELEASE_0_8_0~6 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-ares;a=commitdiff_plain;h=b56fec104de13725415e10d92eefbecb829798ac only c-ares does the htons() prt num conversion for us --- diff --git a/config.m4 b/config.m4 index 06af477..3b1297a 100644 --- a/config.m4 +++ b/config.m4 @@ -61,6 +61,7 @@ if test "$PHP_ARES" != "no"; then if test $PHP_ARES_LIB = "unknown"; then AC_MSG_ERROR(could neither find libares nor libcares) elif test $PHP_ARES_LIB = "cares"; then + AC_DEFINE([PHP_ARES_CARES], [1], [ ]) AC_DEFINE_UNQUOTED([PHP_ARES_LIBNAME], "c-ares (CURL)", [ ]) AC_DEFINE([PHP_ARES_EXPAND_LEN_TYPE], [long], [ ]) else diff --git a/php_ares.c b/php_ares.c index 2ac6c35..9d5c809 100644 --- a/php_ares.c +++ b/php_ares.c @@ -553,11 +553,19 @@ local php_ares_options *php_ares_options_ctor(php_ares_options *options, HashTab } if ((SUCCESS == zend_hash_find(ht, "udp_port", sizeof("udp_port"), (void *) &opt)) && is_numeric(opt, &lval)) { options->flags |= ARES_OPT_UDP_PORT; +#ifdef PHP_ARES_CARES options->strct.udp_port = (unsigned short) lval; +#else + options->strct.udp_port = htons((unsigned short) lval); +#endif } if ((SUCCESS == zend_hash_find(ht, "tcp_port", sizeof("tcp_port"), (void *) &opt)) && is_numeric(opt, &lval)) { options->flags |= ARES_OPT_TCP_PORT; +#ifdef PHP_ARES_CARES options->strct.tcp_port = (unsigned short) lval; +#else + options->strct.tcp_port = htons((unsigned short) lval); +#endif } if ((SUCCESS == zend_hash_find(ht, "servers", sizeof("servers"), (void *) &opt)) && (Z_TYPE_PP(opt) == IS_ARRAY) && (i = zend_hash_num_elements(Z_ARRVAL_PP(opt)))) { options->strct.servers = ecalloc(i, sizeof(struct in_addr));