about summary refs log tree commit diff
path: root/src/engine/server
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2011-03-30 12:08:33 +0200
committeroy <Tom_Adams@web.de>2011-03-30 12:08:33 +0200
commit59d56cd332ecc86008c27326631566a4d2d94ecb (patch)
tree9e207d901bd93c86e9e98260479a57a9fef85faa /src/engine/server
parent693bd39e77ee91ec335d8e30350b57edca8056fd (diff)
downloadzcatch-59d56cd332ecc86008c27326631566a4d2d94ecb.tar.gz
zcatch-59d56cd332ecc86008c27326631566a4d2d94ecb.zip
finished IPv6 support (master servers aren't compatible with 0.5 and older). Closes #233
Diffstat (limited to 'src/engine/server')
-rw-r--r--src/engine/server/register.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/engine/server/register.cpp b/src/engine/server/register.cpp
index 20c7d173..5f43e292 100644
--- a/src/engine/server/register.cpp
+++ b/src/engine/server/register.cpp
@@ -124,18 +124,18 @@ void CRegister::RegisterUpdate()
 			int i;
 			for(i = 0; i < IMasterServer::MAX_MASTERSERVERS; i++)
 			{
-				NETADDR Addr = m_pMasterServer->GetAddr(i);
-				m_aMasterserverInfo[i].m_Addr = Addr;
-				m_aMasterserverInfo[i].m_Count = 0;
-			
-				if(!Addr.ip[0] && !Addr.ip[1] && !Addr.ip[2] && !Addr.ip[3])
-					m_aMasterserverInfo[i].m_Valid = 0;
-				else
+				if(!m_pMasterServer->IsValid(i))
 				{
-					m_aMasterserverInfo[i].m_Valid = 1;
-					m_aMasterserverInfo[i].m_Count = -1;
-					m_aMasterserverInfo[i].m_LastSend = 0;
+					m_aMasterserverInfo[i].m_Valid = 0;
+					m_aMasterserverInfo[i].m_Count = 0;
+					continue;
 				}
+
+				NETADDR Addr = m_pMasterServer->GetAddr(i);
+				m_aMasterserverInfo[i].m_Addr = Addr;
+				m_aMasterserverInfo[i].m_Valid = 1;
+				m_aMasterserverInfo[i].m_Count = -1;
+				m_aMasterserverInfo[i].m_LastSend = 0;
 			}
 			
 			m_pConsole->Print(IConsole::OUTPUT_LEVEL_STANDARD, "register", "fetching server counts");