2
2
// This file is part of the aMule Project.
4
// Copyright (c) 2003-2008 aMule Team ( admin@amule.org / http://www.amule.org )
4
// Copyright (c) 2003-2009 aMule Team ( admin@amule.org / http://www.amule.org )
6
6
// Any parts of this program derived from the xMule, lMule or eMule project,
7
7
// or contributed by third-party developers are copyrighted by their
61
65
m_use_diff = obj.m_use_diff;
63
m_buff = new unsigned char[m_len];
64
memcpy(m_buff, obj.m_buff, m_len);
66
m_enc_buff = new unsigned char[m_len*4/3 + 1];
69
RLE_Data &RLE_Data::operator=(const RLE_Data &obj)
73
m_use_diff = obj.m_use_diff;
75
m_buff = new unsigned char[m_len];
76
memcpy(m_buff, obj.m_buff, m_len);
78
m_enc_buff = new unsigned char[m_len*4/3 + 1];
66
m_buff = new unsigned char[m_len];
67
memcpy(m_buff, obj.m_buff, m_len);
69
m_enc_buff = new unsigned char[m_len*4/3 + 1];
72
RLE_Data &RLE_Data::operator=(const RLE_Data &obj)
76
m_use_diff = obj.m_use_diff;
80
m_use_diff = obj.m_use_diff;
82
m_buff = new unsigned char[m_len];
83
memcpy(m_buff, obj.m_buff, m_len);
85
m_enc_buff = new unsigned char[m_len*4/3 + 1];
91
void RLE_Data::setup(int len, bool use_diff, unsigned char * content)
94
m_use_diff = use_diff;
97
m_buff = new unsigned char[m_len];
99
memcpy(m_buff, content, m_len);
101
memset(m_buff, 0, m_len);
104
// in worst case 2-byte sequence encoded as 3. So, data can grow at 1/3
105
m_enc_buff = new unsigned char[m_len*4/3 + 1];
107
m_buff = m_enc_buff = 0;
111
RLE_Data &RLE_Data::operator=(const RLE_Data &obj)
117
delete [] m_enc_buff;
118
setup(obj.m_len, obj.m_use_diff, obj.m_buff);
83
126
RLE_Data::~RLE_Data()