All pastes #428908 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-04-07 22:16 UTC
rendered paste body
sockaddr_in mkaddr(char *hostname, int port) {
        unsigned int addr = inet_addr(hostname);
        struct hostent *host;
        struct sockaddr_in sockaddr;
        if ((host = gethostbyaddr((char*)&addr, sizeof(addr), AF_INET)) != NULL) {
                /* Resolved as address */
        }
        if (host == NULL) {
                if ((host = gethostbyname(hostname)) == NULL) {
                        /* Could not resolve at all */
                        return sockaddr;
                } else {
                        /* Resolved as hostname */
                }
        }
        sockaddr.sin_family = AF_INET;
        sockaddr.sin_port = htons(port);
        memcpy(&sockaddr.sin_addr.s_addr, host->h_addr, host->h_length);
        return sockaddr;
}