diff options
-rw-r--r-- | source/cSocket.cpp | 20 | ||||
-rw-r--r-- | 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 );
|