diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp index 0d4ad0a4..6f457a08 100644 --- a/src/net/common/clientstate.cpp +++ b/src/net/common/clientstate.cpp @@ -108,30 +108,30 @@ void ClientStateResolve::Process(ClientThread &client, GuiInterface &gui) { ClientData &data = client.GetData(); - + data.clientAddr.ss_family = data.addrFamily; // Treat the server address as numbers first. - if (socket_string_to_addr(data.serverAddr.c_str(), data.addrFamily, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) - { - // Set the port. - if (!socket_set_port(data.serverPort, data.addrFamily, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) - { + if (socket_string_to_addr(data.serverAddr.c_str(), data.addrFamily, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) + { + // Set the port. + if (!socket_set_port(data.serverPort, data.addrFamily, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) + { gui.showErrorConnectToServerDialog(ERR_SOCK_SET_PORT_FAILED, 0); throw runtime_error("ClientStateResolve"); - } - } - else - { - // This did not work out - try name resolution. - ostringstream tmpStr; - tmpStr << data.serverPort; - if (!socket_resolve(data.serverAddr.c_str(), tmpStr.str().c_str(), data.addrFamily, SOCK_STREAM, 0, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) - { + } + } + else + { + // This did not work out - try name resolution. + ostringstream tmpStr; + tmpStr << data.serverPort; + if (!socket_resolve(data.serverAddr.c_str(), tmpStr.str().c_str(), data.addrFamily, SOCK_STREAM, 0, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize())) + { gui.showErrorConnectToServerDialog(ERR_SOCK_RESOLVE_FAILED, 0); // TODO: use errno value throw runtime_error("ClientStateResolve"); - } - } + } + } gui.showActionConnectToServerDialog(MSG_SOCK_RESOLVE_DONE); client.SetState(ClientStateConnect::Instance()); } @@ -158,11 +158,11 @@ ClientStateConnect::Process(ClientThread &client, GuiInterface &gui) { ClientData &data = client.GetData(); - if (!IS_VALID_CONNECT(connect(data.sockfd, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize()))) - { + if (!IS_VALID_CONNECT(connect(data.sockfd, (struct sockaddr *)&data.clientAddr, data.GetServerAddrSize()))) + { gui.showErrorConnectToServerDialog(ERR_SOCK_CONNECT_FAILED, SOCKET_ERRNO()); throw runtime_error("ClientStateResolve"); - } + } gui.showActionConnectToServerDialog(MSG_SOCK_RESOLVE_DONE); client.SetState(ClientStateFinal::Instance()); } diff --git a/src/net/common/socket_helper_cmn.cpp b/src/net/common/socket_helper_cmn.cpp index 155b9d85..0d7bd0ea 100644 --- a/src/net/common/socket_helper_cmn.cpp +++ b/src/net/common/socket_helper_cmn.cpp @@ -29,16 +29,16 @@ socket_set_port(unsigned port, int addrFamily, struct sockaddr *addr, int addrLe if (addr) { - if (addrFamily == AF_INET && addrLen >= sizeof(sockaddr_in)) - { - ((sockaddr_in *)&addr)->sin_port = htons(port); - retVal = true; - } - else if (addrFamily == AF_INET6 && addrLen >= sizeof(sockaddr_in6)) - { - ((sockaddr_in6 *)&addr)->sin6_port = htons(port); - retVal = true; - } + if (addrFamily == AF_INET && addrLen >= sizeof(sockaddr_in)) + { + ((sockaddr_in *)&addr)->sin_port = htons(port); + retVal = true; + } + else if (addrFamily == AF_INET6 && addrLen >= sizeof(sockaddr_in6)) + { + ((sockaddr_in6 *)&addr)->sin6_port = htons(port); + retVal = true; + } } return retVal; diff --git a/src/net/genericsocket.h b/src/net/genericsocket.h index 157a894a..7c4fa2ed 100644 --- a/src/net/genericsocket.h +++ b/src/net/genericsocket.h @@ -30,6 +30,7 @@ #include #include #include +#include #endif #endif