MCPcopy Create free account
hub / github.com/amule-project/amule / DetachPacket

Method DetachPacket

src/Packet.cpp:202–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

200}
201
202uint8_t* CPacket::DetachPacket() {
203 if (completebuffer) {
204 if (!m_bSplitted) {
205 memcpy(completebuffer, GetHeader(), sizeof(Header_Struct));
206 }
207 uint8_t* result = completebuffer;
208 completebuffer = pBuffer = NULL;
209 return result;
210 } else{
211 if (tempbuffer){
212 delete[] tempbuffer;
213 tempbuffer = NULL;
214 }
215 tempbuffer = new uint8_t[size+sizeof(Header_Struct)+4 /* Why this 4?*/];
216 memcpy(tempbuffer,GetHeader(),sizeof(Header_Struct));
217 memcpy(tempbuffer+sizeof(Header_Struct),pBuffer,size);
218 uint8_t* result = tempbuffer;
219 tempbuffer = 0;
220 return result;
221 }
222}
223
224uint8_t* CPacket::GetHeader() {
225 wxASSERT( !m_bSplitted );

Callers 1

SendMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected