summaryrefslogtreecommitdiff
path: root/src/AsyncNameResolver.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-02-18 01:04:11 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-02-18 01:04:11 +0900
commitd3d1293974485ea3ff8ee69737ee0b0996f93149 (patch)
treefee40fe0bd920bc65d737b7af360ba45724c57c9 /src/AsyncNameResolver.cc
parent838601329688156a6b29fd201e57f885bf53a5e1 (diff)
Check the availability of ares_set_servers and ares_addr_node.
Diffstat (limited to 'src/AsyncNameResolver.cc')
-rw-r--r--src/AsyncNameResolver.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/AsyncNameResolver.cc b/src/AsyncNameResolver.cc
index 832d8a45..b5ddddbc 100644
--- a/src/AsyncNameResolver.cc
+++ b/src/AsyncNameResolver.cc
@@ -78,18 +78,25 @@ void callback(void* arg, int status, int timeouts, struct hostent* host)
}
}
-AsyncNameResolver::AsyncNameResolver(int family, ares_addr_node* servers):
- status_(STATUS_READY),
- family_(family)
+AsyncNameResolver::AsyncNameResolver
+(int family
+#ifdef HAVE_ARES_ADDR_NODE
+ , ares_addr_node* servers
+#endif // HAVE_ARES_ADDR_NODE
+ )
+ : status_(STATUS_READY),
+ family_(family)
{
// TODO evaluate return value
ares_init(&channel_);
+#if defined HAVE_ARES_SET_SERVERS && HAVE_ARES_ADDR_NODE
if(servers) {
// ares_set_servers has been added since c-ares 1.7.1
if(ares_set_servers(channel_, servers) != ARES_SUCCESS) {
A2_LOG_DEBUG("ares_set_servers failed");
}
}
+#endif // HAVE_ARES_SET_SERVERS && HAVE_ARES_ADDR_NODE
}
AsyncNameResolver::~AsyncNameResolver()