struct hostent *h;
struct hostent *h = NULL;
SockAddr sk_namelookup(char *host, char **canonicalname) {    SockAddr ret = smalloc(sizeof(struct SockAddr_tag));    unsigned long a;    struct hostent *h;    ret->error = NULL;    if ( (a = inet_addr(host)) == (unsigned long) INADDR_NONE) {	if ( (h = gethostbyname(host)) == NULL) {	    DWORD err = WSAGetLastError();	    ret->error = winsock_error_string(err);	} else {	    memcpy (&a, h->h_addr, sizeof(a));	    *canonicalname = h->h_name;	}    } else {	*canonicalname = host;    }    ret->address = ntohl(a);    return ret;}