MCPcopy Create free account
hub / github.com/cppla/ServerStatus / Remove

Method Remove

server/src/netban.cpp:119–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117
118template<class T, int HashCount>
119int CNetBan::CBanPool<T, HashCount>::Remove(CBan<T> *pBan)
120{
121 if(pBan == 0)
122 return -1;
123
124 // remove from hash list
125 if(pBan->m_pHashNext)
126 pBan->m_pHashNext->m_pHashPrev = pBan->m_pHashPrev;
127 if(pBan->m_pHashPrev)
128 pBan->m_pHashPrev->m_pHashNext = pBan->m_pHashNext;
129 else
130 m_paaHashList[pBan->m_NetHash.m_HashIndex][pBan->m_NetHash.m_Hash] = pBan->m_pHashNext;
131 pBan->m_pHashNext = pBan->m_pHashPrev = 0;
132
133 // remove from used list
134 if(pBan->m_pNext)
135 pBan->m_pNext->m_pPrev = pBan->m_pPrev;
136 if(pBan->m_pPrev)
137 pBan->m_pPrev->m_pNext = pBan->m_pNext;
138 else
139 m_pFirstUsed = pBan->m_pNext;
140
141 // add to recycle list
142 if(m_pFirstFree)
143 m_pFirstFree->m_pPrev = pBan;
144 pBan->m_pPrev = 0;
145 pBan->m_pNext = m_pFirstFree;
146 m_pFirstFree = pBan;
147
148 // update ban count
149 --m_CountUsed;
150
151 return 0;
152}
153
154template<class T, int HashCount>
155void CNetBan::CBanPool<T, HashCount>::Update(CBan<CDataType> *pBan, const CBanInfo *pInfo)

Callers 3

UnbanMethod · 0.80
UpdateMethod · 0.80
UnbanByIndexMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected