From 1c041c44a43905d31fc14a8b209e13f8d1f42e33 Mon Sep 17 00:00:00 2001 From: oy Date: Mon, 7 Jun 2010 14:12:06 +0200 Subject: [PATCH] made unban command work with the banlist index. Closes #102 --- src/engine/server/server.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index 69102a75e..620599c87 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -1210,10 +1210,20 @@ void CServer::ConBan(IConsole::IResult *pResult, void *pUser) void CServer::ConUnban(IConsole::IResult *pResult, void *pUser) { NETADDR Addr; + CServer *pServer = (CServer *)pUser; const char *pStr = pResult->GetString(0); if(net_addr_from_str(&Addr, pStr) == 0) - ((CServer *)pUser)->BanRemove(Addr); + pServer->BanRemove(Addr); + else if(StrAllnum(pStr)) + { + int BanIndex = str_toint(pStr); + CNetServer::CBanInfo Info; + if(BanIndex < 0 || !pServer->m_NetServer.BanGet(BanIndex, &Info)) + dbg_msg("server", "invalid ban index"); + else + pServer->BanRemove(Info.m_Addr); + } else dbg_msg("server", "invalid network address"); }