about summary refs log tree commit diff
path: root/src/engine/client
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2010-08-12 19:29:59 +0200
committeroy <Tom_Adams@web.de>2010-08-12 19:29:59 +0200
commit5a237c6f78a2cfed58ec4eb9b23b81ff8925ecce (patch)
tree4c0c5da3306de4f33e2c08b03ecdb43238a84e60 /src/engine/client
parentd9a3cc032fbcdccbeee5fb16b3d2b79f0feb8319 (diff)
downloadzcatch-5a237c6f78a2cfed58ec4eb9b23b81ff8925ecce.tar.gz
zcatch-5a237c6f78a2cfed58ec4eb9b23b81ff8925ecce.zip
fixed utf8 problem with empty entries in the server browser
Diffstat (limited to 'src/engine/client')
-rw-r--r--src/engine/client/srvbrowse.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/engine/client/srvbrowse.cpp b/src/engine/client/srvbrowse.cpp
index e0997467..d0c8393d 100644
--- a/src/engine/client/srvbrowse.cpp
+++ b/src/engine/client/srvbrowse.cpp
@@ -79,7 +79,9 @@ bool CServerBrowser::SortCompareName(int Index1, int Index2) const
 {
 	CServerEntry *a = m_ppServerlist[Index1];
 	CServerEntry *b = m_ppServerlist[Index2];
-	return str_comp(a->m_Info.m_aName, b->m_Info.m_aName) < 0;
+	//	make sure empty entries are listed last
+	return (a->m_GotInfo && b->m_GotInfo) || (!a->m_GotInfo && !b->m_GotInfo) ?  str_comp(a->m_Info.m_aName, b->m_Info.m_aName) < 0 :
+			a->m_GotInfo ? true : false;
 }
 
 bool CServerBrowser::SortCompareMap(int Index1, int Index2) const
@@ -362,7 +364,7 @@ CServerBrowser::CServerEntry *CServerBrowser::Add(const NETADDR &Addr)
 	str_format(pEntry->m_Info.m_aAddress, sizeof(pEntry->m_Info.m_aAddress), "%d.%d.%d.%d:%d",
 		Addr.ip[0], Addr.ip[1], Addr.ip[2],
 		Addr.ip[3], Addr.port);
-	str_format(pEntry->m_Info.m_aName, sizeof(pEntry->m_Info.m_aName), "\255%d.%d.%d.%d:%d", // the \255 is to make sure that it's sorted last
+	str_format(pEntry->m_Info.m_aName, sizeof(pEntry->m_Info.m_aName), "%d.%d.%d.%d:%d",
 		Addr.ip[0], Addr.ip[1], Addr.ip[2],
 		Addr.ip[3], Addr.port);