- int sockfd;
- struct sockaddr_in server;
- struct hostent *hp;
- int port;
-
- hp=gethostbyname(host);
- if (!hp) {
- unsigned long int addr=inet_addr(host);
- if (addr!= (unsigned)-1)
- hp=gethostbyaddr((char*)addr,sizeof(addr),AF_INET);
-
- if (!hp) {
- LOG(log_error, logtype_cnid, "gethostbyaddr %s: %s", host, strerror(errno));
- return -1;
- }
- }
- memcpy((char*)&server.sin_addr,(char*)hp->h_addr,sizeof(server.sin_addr));
+ int sockfd, flag, ret;
+ struct addrinfo hints, *servinfo, *p;
+
+ /* Prepare hint for getaddrinfo */
+ memset(&hints, 0, sizeof hints);
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;