tswow/misc/client-extensions/CustomPackets/CustomPacketRead.cpp

35 lines
870 B
C++
Raw Permalink Normal View History

2021-10-20 20:31:14 +02:00
#include "CustomPacketRead.h"
2021-10-17 08:58:46 +02:00
CustomPacketRead::CustomPacketRead()
: CustomPacketBase()
2021-10-17 08:58:46 +02:00
{}
CustomPacketRead::CustomPacketRead(opcode_t opcode, chunkSize_t chunkSize)
: CustomPacketBase(opcode, chunkSize, 0)
2021-10-17 08:58:46 +02:00
{}
CustomPacketRead::CustomPacketRead(CustomPacketWrite const& write)
: CustomPacketBase(write)
2021-10-17 08:58:46 +02:00
{}
CustomPacketRead* CustomPacketRead::operator->() { return this; }
2021-10-17 08:58:46 +02:00
std::string CustomPacketRead::ReadString(std::string const& def)
2021-10-17 08:58:46 +02:00
{
totalSize_t size = Read<totalSize_t>(TotalSizeNpos);
if (size == TotalSizeNpos) return def;
if (size == 0) return "";
char* chr = ReadBytes(size, true);
if (chr == nullptr) return def;
chr[size] = '\0';
std::string str(chr);
delete[] chr;
return str;
2021-10-17 08:58:46 +02:00
}
char* CustomPacketRead::ReadBytes(totalSize_t size, bool padStr)
2021-10-20 06:28:55 +02:00
{
return CustomPacketBase::ReadBytes(size, padStr);
2021-10-20 06:28:55 +02:00
}