This commit is contained in:
MarcEricMartel 2023-09-27 15:44:56 -04:00
parent 4dbcb08a11
commit 7eabee38ad

View File

@ -18,14 +18,8 @@ void netprot::Serialize(TeamInfo* tinfo, char* buf[], uint32_t* buflen) {
void netprot::Serialize(LoginInfo* linfo, char* buf[], uint32_t* buflen) {
*buf[0] = netprot::PACKET_TYPE::LOGINF;
char* buff = *buf + 1;
size_t namesize = 1;
for (int x = 0; x < sizeof(linfo->name); ++x)
if (linfo->name[x] != (char)'\0')
++namesize;
else break;
size_t namesize = std::strlen(linfo->name) + 1;
memcpy(*buf + 1, &linfo->name, namesize);
uint64_t sid = linfo->sid;
@ -40,8 +34,7 @@ void netprot::Serialize(LoginInfo* linfo, char* buf[], uint32_t* buflen) {
sid & 0xFF
};
char* ptrsid = *buf + namesize + 2;
memcpy(ptrsid, diff, sizeof(uint64_t));
memcpy(*buf + namesize + 2, diff, sizeof(uint64_t));
*buflen = namesize + sizeof(uint64_t) + 2;
}
@ -88,14 +81,12 @@ bool netprot::Deserialize(LoginInfo* linfo, char* buf, const uint32_t buflen) {
if (buflen < sizeof(LoginInfo) + 3)
return false;
size_t namesize = 1;
size_t namesize = std::strlen(buf) + 1;
for (int x = 0; x < sizeof(linfo->name); ++x)
if (buf[x] != (char)'\0')
++namesize;
else break;
if (namesize > 32)
return false;
memcpy((void*)&linfo->name, (void*)&buf[1], namesize);
memcpy(&linfo->name, &buf[1], namesize);
uint8_t diff[sizeof(uint64_t)] = { 0,0,0,0,0,0,0,0 };
memcpy(diff, &buf[namesize + 1], sizeof(uint64_t));