| 323 | |
| 324 | template<class T> |
| 325 | int CNetBan::Unban(T *pBanPool, const typename T::CDataType *pData) |
| 326 | { |
| 327 | CNetHash NetHash(pData); |
| 328 | CBan<typename T::CDataType> *pBan = pBanPool->Find(pData, &NetHash); |
| 329 | if(pBan) |
| 330 | { |
| 331 | char aBuf[256]; |
| 332 | MakeBanInfo(pBan, aBuf, sizeof(aBuf), MSGTYPE_BANREM); |
| 333 | pBanPool->Remove(pBan); |
| 334 | dbg_msg("net_ban", aBuf); |
| 335 | return 0; |
| 336 | } |
| 337 | else |
| 338 | dbg_msg("net_ban", "unban failed (invalid entry)"); |
| 339 | return -1; |
| 340 | } |
| 341 | |
| 342 | void CNetBan::Init() |
| 343 | { |