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
| #include "Packet.h"
const unsigned short Packet::ReadShort()
{
unsigned short b = static_cast<unsigned short>((htos(packet[pos], 4) | htos(packet[pos+1], 0)) & 0xff);
Skip();
return b;
}
const unsigned int Packet::ReadInt()
{
return static_cast<int>(((ReadShort() << 8) & 0xffff) + ReadShort());
}
const unsigned long long Packet::ReadLong()
{
return static_cast<long long>(((ReadInt() << 16) & 0xffffffff) + ReadInt());
}
const string& Packet::ReadString(unsigned short length)
{
if(pos + (length*2 + (length-1)) > strlen(packet))
{
//exit(0); // cela ne devrait jamais arriver.
}
string out;
for(int i = 0; i < length; ++i)
{
out += char(((htos(packet[pos],4) | htos(packet[pos+1], 0)) & 0xff));
Skip();
}
return out;
} |
Partager