Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (!m_bEncrypted)
- {
- if (!packet_encode(m_lpOutputBuffer, c_pvData, iSize))
- {
- m_iPhase = PHASE_CLOSE;
- }
- }
- else
- {
- if (buffer_has_space(m_lpOutputBuffer) < iSize + 8)
- {
- buffer_adjust_size(m_lpOutputBuffer, iSize);
- if (buffer_has_space(m_lpOutputBuffer) < iSize + 8)
- {
- sys_err(
- "desc buffer mem_size overflow : ",
- " memsize(%u) ",
- " write_pos(%u)",
- " iSize(%d)",
- m_lpOutputBuffer->mem_size,
- m_lpOutputBuffer->write_point_pos,
- iSize);
- m_iPhase = PHASE_CLOSE;
- }
- }
- else
- {
- DWORD * pdwWritePoint = (DWORD *) buffer_write_peek(m_lpOutputBuffer);
- if (packet_encode(m_lpOutputBuffer, c_pvData, iSize))
- {
- int iSize2 = TEA_Encrypt(pdwWritePoint, pdwWritePoint, GetEncryptionKey(), iSize);
- if (iSize2 > iSize)
- buffer_write_proceed(m_lpOutputBuffer, iSize2 - iSize);
- }
- }
- }
- Protocol.h
- inline bool __packet_encode(LPBUFFER pbuf, const void * data, int length, const char * file, int line)
- {
- assert(NULL != pbuf);
- assert(NULL != data);
- if (buffer_has_space(pbuf) < length)
- {
- return false;
- }
- buffer_adjust_size(pbuf, length);
- buffer_write(pbuf, data, length);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement