1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#include <string.h>
#include <stdexcept>
#include "System/mmgr.h"
#include "RawPacket.h"
#include "System/Log/ILog.h"
namespace netcode
{
RawPacket::RawPacket(const unsigned char* const tdata, const unsigned newLength)
: length(newLength)
{
if (length > 0) {
data = new unsigned char[length];
memcpy(data, tdata, length);
} else {
LOG_L(L_ERROR, "Tried to pack a zero lengh packet");
// TODO handle error
}
}
RawPacket::RawPacket(const unsigned newLength)
: length(newLength)
{
if (length > 0) {
data = new unsigned char[length];
}
}
RawPacket::~RawPacket()
{
if (length > 0) {
delete[] data;
}
}
} // namespace netcode
|