Rework llindexedvector to be a bit more debugable.

This commit is contained in:
Shyotl
2019-07-10 01:05:42 -05:00
parent 37839ff247
commit 49b027f2a0
6 changed files with 168 additions and 44 deletions

View File

@@ -554,7 +554,7 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender,
iter != mCurrentRMessageTemplate->mMemberBlocks.end();
++iter)
{
LLMessageBlock* mbci = iter->second;
const LLMessageBlock* mbci = mCurrentRMessageTemplate->mMemberBlocks.toValue(iter);
U8 repeat_number;
S32 i;
@@ -621,17 +621,17 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender,
mbci->mMemberVariables.begin();
iter != mbci->mMemberVariables.end(); iter++)
{
const LLMessageVariable& mvci = *iter->second;
const LLMessageVariable* mvci = mbci->mMemberVariables.toValue(iter);
// ok, build out the variables
// add variable block
cur_data_block->addVariable(mvci.getName(), mvci.getType());
cur_data_block->addVariable(mvci->getName(), mvci->getType());
// what type of variable?
if (mvci.getType() == MVT_VARIABLE)
if (mvci->getType() == MVT_VARIABLE)
{
// variable, get the number of bytes to read from the template
S32 data_size = mvci.getSize();
S32 data_size = mvci->getSize();
U8 tsizeb = 0;
U16 tsizeh = 0;
U32 tsize = 0;
@@ -666,32 +666,32 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender,
}
decode_pos += data_size;
cur_data_block->addData(mvci.getName(), &buffer[decode_pos], tsize, mvci.getType());
cur_data_block->addData(mvci->getName(), &buffer[decode_pos], tsize, mvci->getType());
decode_pos += tsize;
}
else
{
// fixed!
// so, copy data pointer and set data size to fixed size
if ((decode_pos + mvci.getSize()) > mReceiveSize)
if ((decode_pos + mvci->getSize()) > mReceiveSize)
{
if(!custom)
logRanOffEndOfPacket(sender, decode_pos, mvci.getSize());
logRanOffEndOfPacket(sender, decode_pos, mvci->getSize());
// default to 0s.
U32 size = mvci.getSize();
U32 size = mvci->getSize();
std::vector<U8> data(size, 0);
cur_data_block->addData(mvci.getName(), &(data[0]),
size, mvci.getType());
cur_data_block->addData(mvci->getName(), &(data[0]),
size, mvci->getType());
}
else
{
cur_data_block->addData(mvci.getName(),
cur_data_block->addData(mvci->getName(),
&buffer[decode_pos],
mvci.getSize(),
mvci.getType());
mvci->getSize(),
mvci->getType());
}
decode_pos += mvci.getSize();
decode_pos += mvci->getSize();
}
}
}