/*
* Encapsulate gethostbyname to control the error code
*/
+#define DNSlookup_name LC_DNSlookup_name
int
DNSlookup_name(
const char *name,
ai->ai_family = hp->h_addrtype;
ai->ai_addrlen = sizeof(struct sockaddr);
sockin = (struct sockaddr_in *)ai->ai_addr;
- memcpy(&sockin->sin_addr, hp->h_addr, sizeof(struct in_addr));
+ memcpy(&sockin->sin_addr, hp->h_addr, hp->h_length);
ai->ai_addr->sa_family = hp->h_addrtype;
#ifdef HAVE_SA_LEN_IN_STRUCT_SOCKADDR
ai->ai_addr->sa_len = sizeof(struct sockaddr);
addr = (struct hostent *) malloc(sizeof(struct hostent));
memset(addr, 0, sizeof(struct hostent));
addr->h_addrtype = (short) results->lpcsaBuffer->iSocketType;
- addr->h_length = (short) results->lpcsaBuffer->RemoteAddr.iSockaddrLength;
+ addr->h_length = sizeof(struct in_addr); /* Only passing back the address */
}
for (i = 0; i < results->dwNumberOfCsAddrs; i++)
{