| 12
 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