struct addrinfo hints = { 0 }, *result;
struct sockaddr_in *sockaddr_in;
struct sockaddr_in6 *sockaddr_in6;
+ socklen_t socklen;
#ifndef WIN32
int fd_flags = 0;
#else
case AF_INET:
sockaddr_in = (struct sockaddr_in*)&(handle->sockaddr);
sockaddr_in->sin_port = htons(port);
+ socklen = sizeof(struct sockaddr_in);
break;
case AF_INET6:
sockaddr_in6 = (struct sockaddr_in6*)&(handle->sockaddr);
sockaddr_in6->sin6_port = htons(port);
+ socklen = sizeof(struct sockaddr_in6);
break;
default:
strncpy(handle->err, "Host resolves to unsupported address family", sizeof(handle->err));
#endif
}
- rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, sizeof(handle->sockaddr));
+ rval = connect(handle->sock, (struct sockaddr*)&handle->sockaddr, socklen);
if (timeout) {
int r;