MCPcopy Create free account
hub / github.com/crossuo/crossuo / Move

Method Move

src/BaseQueue.cpp:195–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195bool CBaseQueue::Move(CBaseQueueItem *item, bool up)
196{
197 bool result = (item != nullptr);
198 if (result)
199 {
200 if (up)
201 {
202 CBaseQueueItem *prev = item->m_Prev;
203 result = (prev != nullptr);
204 if (result)
205 {
206 if (prev == m_Items)
207 {
208 prev->m_Prev = item;
209 prev->m_Next = item->m_Next;
210 m_Items = item;
211 item->m_Prev = nullptr;
212 item->m_Next = prev;
213 }
214 else
215 {
216 CBaseQueueItem *prevprev = prev->m_Prev;
217 prev->m_Prev = item;
218 prev->m_Next = item->m_Next;
219 prevprev->m_Next = item;
220 item->m_Prev = prevprev;
221 item->m_Next = prev;
222 }
223 }
224 }
225 else
226 {
227 CBaseQueueItem *next = item->m_Next;
228 result = (next != nullptr);
229 if (result)
230 {
231 if (item == m_Items)
232 {
233 item->m_Next = next->m_Next;
234 item->m_Prev = next;
235 m_Items = item;
236 m_Items->m_Prev = nullptr;
237 m_Items->m_Next = item;
238 }
239 else
240 {
241 CBaseQueueItem *prev = item->m_Prev;
242 prev->m_Next = next;
243 item->m_Next = next->m_Next;
244 item->m_Prev = next;
245 next->m_Prev = prev;
246 next->m_Next = item;
247 }
248 }
249 }
250 }
251 return result;
252}

Callers 15

ParsePacketMethod · 0.45
SetMultiDataMethod · 0.45
LoadMultiMethod · 0.45
FUNCBODY_SetTargetDataFunction · 0.45
LoadMultiMethod · 0.45
ParseMethod · 0.45
CIntlocMethod · 0.45
InitMethod · 0.45
LoadMethod · 0.45
LoadFontsMethod · 0.45
LoadMethod · 0.45
ApplyPatchesMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected