summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-11-24 14:28:51 +0100
committermadmaxoft <github@xoft.cz>2013-11-24 14:28:51 +0100
commit1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b (patch)
tree26cda359a00074e82a7c7a4f4d0fd7ea2e5fafa3
parentAPIDump: Moved projectiles' documentation to a separate file. (diff)
downloadcuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar.gz
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar.bz2
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar.lz
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar.xz
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.tar.zst
cuberite-1f8399fae528f44e0543d1baca7d6ccbc2dd5f8b.zip
-rw-r--r--source/OSSupport/Socket.cpp14
-rw-r--r--source/OSSupport/Socket.h1
2 files changed, 8 insertions, 7 deletions
diff --git a/source/OSSupport/Socket.cpp b/source/OSSupport/Socket.cpp
index 48b5d704d..c461d38a4 100644
--- a/source/OSSupport/Socket.cpp
+++ b/source/OSSupport/Socket.cpp
@@ -169,7 +169,7 @@ bool cSocket::SetReuseAddress(void)
-int cSocket::WSAStartup()
+int cSocket::WSAStartup(void)
{
#ifdef _WIN32
WSADATA wsaData;
@@ -336,23 +336,23 @@ bool cSocket::ConnectIPv4(const AString & a_HostNameOrAddr, unsigned short a_Por
{
// First try IP Address string to hostent conversion, because it's faster
unsigned long addr = inet_addr(a_HostNameOrAddr.c_str());
- hostent * hp = gethostbyaddr((char*)&addr, sizeof(addr), AF_INET);
- if (hp == NULL)
+ if (addr == INADDR_NONE)
{
// It is not an IP Address string, but rather a regular hostname, resolve:
- hp = gethostbyname(a_HostNameOrAddr.c_str());
+ hostent * hp = gethostbyname(a_HostNameOrAddr.c_str());
if (hp == NULL)
{
- LOGWARN("cTCPLink: Could not resolve hostname \"%s\"", a_HostNameOrAddr.c_str());
+ LOGWARNING("%s: Could not resolve hostname \"%s\"", __FUNCTION__, a_HostNameOrAddr.c_str());
CloseSocket();
return false;
}
+ addr = *((unsigned long*)hp->h_addr);
}
sockaddr_in server;
- server.sin_addr.s_addr = *((unsigned long*)hp->h_addr);
+ server.sin_addr.s_addr = addr;
server.sin_family = AF_INET;
- server.sin_port = htons( (unsigned short)a_Port );
+ server.sin_port = htons((unsigned short)a_Port);
return (connect(m_Socket, (sockaddr *)&server, sizeof(server)) == 0);
}
diff --git a/source/OSSupport/Socket.h b/source/OSSupport/Socket.h
index 34f09cc74..81bfd28fc 100644
--- a/source/OSSupport/Socket.h
+++ b/source/OSSupport/Socket.h
@@ -38,6 +38,7 @@ public:
/// Sets the address-reuse socket flag; returns true on success
bool SetReuseAddress(void);
+ /// Initializes the network stack. Returns 0 on success, or another number as an error code.
static int WSAStartup(void);
static AString GetErrorString(int a_ErrNo);