error=getaddrinfo(addr,NULL,NULL,&res);
if (error) {
if (res) freeaddrinfo(res);
- debuga(__FILE__,__LINE__,_("Cannot resolve host name %s: %s\n"),name,gai_strerror(error));
- exit(EXIT_FAILURE);
- }
- if (res->ai_family==AF_INET) {
- struct sockaddr_in *s4=(struct sockaddr_in *)res->ai_addr;
- struct in_addr *sa=&s4->sin_addr;
- if (res->ai_addrlen<sizeof(*s4)) {
- debuga(__FILE__,__LINE__,_("Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d\n"),res->ai_addrlen,(int)sizeof(*s4));
- exit(EXIT_FAILURE);
- }
- inet_ntop(res->ai_family,sa,name,name_size);
- } else if (res->ai_family==AF_INET6) {
- struct sockaddr_in6 *s6=(struct sockaddr_in6 *)res->ai_addr;
- struct in6_addr *sa6=&s6->sin6_addr;
- if (res->ai_addrlen<sizeof(*s6)) {
- debuga(__FILE__,__LINE__,_("Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d\n"),res->ai_addrlen,(int)sizeof(*s6));
- exit(EXIT_FAILURE);
- }
- inet_ntop(res->ai_family,sa6,name,name_size);
+ debuga(__FILE__,__LINE__,_("Cannot resolve host name \"%s\": %s\n"),name,gai_strerror(error));
} else {
- debuga(__FILE__,__LINE__,_("Invalid address type %d returned when resolving host name \"%s\"\n"),res->ai_family,name);
+ if (res->ai_family==AF_INET) {
+ struct sockaddr_in *s4=(struct sockaddr_in *)res->ai_addr;
+ struct in_addr *sa=&s4->sin_addr;
+ if (res->ai_addrlen<sizeof(*s4)) {
+ debuga(__FILE__,__LINE__,_("Short structure returned by getaddrinfo for an IPv4 address: %d bytes instead of %d\n"),res->ai_addrlen,(int)sizeof(*s4));
+ exit(EXIT_FAILURE);
+ }
+ inet_ntop(res->ai_family,sa,name,name_size);
+ } else if (res->ai_family==AF_INET6) {
+ struct sockaddr_in6 *s6=(struct sockaddr_in6 *)res->ai_addr;
+ struct in6_addr *sa6=&s6->sin6_addr;
+ if (res->ai_addrlen<sizeof(*s6)) {
+ debuga(__FILE__,__LINE__,_("Short structure returned by getaddrinfo for an IPv6 address: %d bytes instead of %d\n"),res->ai_addrlen,(int)sizeof(*s6));
+ exit(EXIT_FAILURE);
+ }
+ inet_ntop(res->ai_family,sa6,name,name_size);
+ } else {
+ debuga(__FILE__,__LINE__,_("Invalid address type %d returned when resolving host name \"%s\"\n"),res->ai_family,name);
+ }
+ freeaddrinfo(res);
}
- freeaddrinfo(res);
#else
struct in_addr ia;
struct hostent *hp;