From 21f758c9c05137f1f3e27d4363ca7c272ee7907c Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Tue, 7 Feb 2012 21:16:03 +0000 Subject: cSocket: final localhost fix - made it a function git-svn-id: http://mc-server.googlecode.com/svn/trunk@242 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cSocket.cpp | 20 ++++++++++++++------ source/cSocket.h | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/source/cSocket.cpp b/source/cSocket.cpp index f53724216..42cc298a7 100644 --- a/source/cSocket.cpp +++ b/source/cSocket.cpp @@ -16,12 +16,6 @@ - unsigned long cSocket::INTERNET_ADDRESS_LOCALHOST = 127; // TODO: Linux won't accept this: htonl((127 << 24) | 1); - - - - - cSocket::cSocket(xSocket a_Socket) : m_Socket(a_Socket) { @@ -195,6 +189,20 @@ cSocket cSocket::CreateSocket() +unsigned long cSocket::INTERNET_ADDRESS_LOCALHOST(void) +{ + static unsigned long LocalHost = 0; + if (LocalHost == 0) + { + LocalHost = inet_addr("127.0.0.1"); // GCC won't accept this as a global var assignment + } + return LocalHost; +} + + + + + int cSocket::Bind(SockAddr_In& a_Address) { sockaddr_in local; diff --git a/source/cSocket.h b/source/cSocket.h index 7075adab5..b98741c4b 100644 --- a/source/cSocket.h +++ b/source/cSocket.h @@ -61,7 +61,7 @@ public: static const short ADDRESS_FAMILY_INTERNET = 2; static const unsigned long INTERNET_ADDRESS_ANY = 0; - static unsigned long INTERNET_ADDRESS_LOCALHOST; // 127.0.0.1 represented in network byteorder + static unsigned long INTERNET_ADDRESS_LOCALHOST(void); // 127.0.0.1 represented in network byteorder; must be a function due to GCC :( int Bind( SockAddr_In& a_Address ); int Listen( int a_Backlog ); -- cgit v1.2.3