diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-20 21:53:48 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-20 21:53:48 +0900 |
| commit | 3c73b6e76746e03f21ef401f17180a296b4a66d3 (patch) | |
| tree | 80f001ff6de4d14ff853cfb4f1bc58a4332b9f51 /src/AsyncNameResolver.cc | |
| parent | af46293ef93a056bcd06f4b8f973fe5aa395d20f (diff) | |
Eliminated inet_ntoa and inet_ntop. Use getnameinfo() instead.
Diffstat (limited to 'src/AsyncNameResolver.cc')
| -rw-r--r-- | src/AsyncNameResolver.cc | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/AsyncNameResolver.cc b/src/AsyncNameResolver.cc index 08055cc5..4cba7a25 100644 --- a/src/AsyncNameResolver.cc +++ b/src/AsyncNameResolver.cc @@ -38,6 +38,7 @@ #include "A2STR.h" #include "LogFactory.h" +#include "SocketCore.h" namespace aria2 { @@ -50,21 +51,10 @@ void callback(void* arg, int status, int timeouts, struct hostent* host) return; } for(char** ap = host->h_addr_list; *ap; ++ap) { -#ifdef HAVE_INET_NTOP - char addrstring[INET6_ADDRSTRLEN]; - const char* dst = - inet_ntop(host->h_addrtype, *ap, addrstring, sizeof(addrstring)); - if(dst) { - resolverPtr->resolvedAddresses_.push_back(dst); + char addrstring[NI_MAXHOST]; + if(inetNtop(host->h_addrtype, *ap, addrstring, sizeof(addrstring)) == 0) { + resolverPtr->resolvedAddresses_.push_back(addrstring); } -#else // !HAVE_INET_NTOP - if(host->h_addrtype != AF_INET) { - continue; - } - struct in_addr addr; - memcpy(&addr, *ap, sizeof(in_addr)); - resolverPtr->resolvedAddresses_.push_back(inet_ntoa(addr)); -#endif // !HAVE_INET_NTOP } if(resolverPtr->resolvedAddresses_.empty()) { resolverPtr->error_ = "address conversion failed"; |
