diff options
| author | oy <Tom_Adams@web.de> | 2010-06-07 14:12:06 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-06-07 14:12:06 +0200 |
| commit | 1c041c44a43905d31fc14a8b209e13f8d1f42e33 (patch) | |
| tree | 580e437ba5051f5866c6030eff868fc0d4082010 /src | |
| parent | 2104835d77c458409dec549f8badf8bc536c43d6 (diff) | |
| download | zcatch-1c041c44a43905d31fc14a8b209e13f8d1f42e33.tar.gz zcatch-1c041c44a43905d31fc14a8b209e13f8d1f42e33.zip | |
made unban command work with the banlist index. Closes #102
Diffstat (limited to 'src')
| -rw-r--r-- | src/engine/server/server.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index 69102a75..620599c8 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"); } |