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