| 200 | } |
| 201 | |
| 202 | uint8_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 | |
| 224 | uint8_t* CPacket::GetHeader() { |
| 225 | wxASSERT( !m_bSplitted ); |