int sockfd)
{
#ifdef HAVE_INET_NTOA
-
+ bool bindworked = FALSE;
struct SessionHandle *data = conn->data;
/*************************************************************
if( bind(sockfd, addr->ai_addr, addr->ai_addrlen) >= 0) {
/* we succeeded to bind */
struct sockaddr_in6 add;
+
+ bindworked = TRUE;
size = sizeof(add);
if(getsockname(sockfd, (struct sockaddr *) &add,
/* we succeeded to bind */
struct sockaddr_in add;
+ bindworked = TRUE;
+
size = sizeof(add);
if(getsockname(sockfd, (struct sockaddr *) &add,
(socklen_t *)&size)<0) {
}
}
#endif
- else {
+ if(!bindworked) {
switch(errno) {
case EBADF:
failf(data, "Invalid descriptor: %d", errno);