mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 09:10:06 +00:00
Message data vector buffer should resize instead of reserve, preserving data on growth
This commit is contained in:
parent
f0386cda27
commit
d648c1db08
1 changed files with 2 additions and 2 deletions
|
|
@ -78,7 +78,7 @@ MessageInfo MessageFactory::Create(std::istream& is)
|
||||||
if (segment == 1)
|
if (segment == 1)
|
||||||
{
|
{
|
||||||
// Estimate total message size
|
// Estimate total message size
|
||||||
messageData_.reserve(dataSize * totalSegments);
|
messageData_.resize(dataSize * totalSegments);
|
||||||
messageBufferStream_.clear();
|
messageBufferStream_.clear();
|
||||||
bufferedSize_ = 0;
|
bufferedSize_ = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -93,7 +93,7 @@ MessageInfo MessageFactory::Create(std::istream& is)
|
||||||
std::max<uint16_t>(totalSegments - segment + 1, 100u);
|
std::max<uint16_t>(totalSegments - segment + 1, 100u);
|
||||||
size_t remainingSize = remainingSegments * dataSize;
|
size_t remainingSize = remainingSegments * dataSize;
|
||||||
|
|
||||||
messageData_.reserve(bufferedSize_ + remainingSize);
|
messageData_.resize(bufferedSize_ + remainingSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
is.read(messageData_.data() + bufferedSize_, dataSize);
|
is.read(messageData_.data() + bufferedSize_, dataSize);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue