Refactor: make the read function simpler
This commit is contained in:
parent
acb11535cb
commit
9db9d6215f
1 changed files with 5 additions and 7 deletions
|
@ -345,18 +345,16 @@ public:
|
||||||
|
|
||||||
// Read from the beginning of the buffer
|
// Read from the beginning of the buffer
|
||||||
unsigned int nReadPosNext = nReadPos + nSize;
|
unsigned int nReadPosNext = nReadPos + nSize;
|
||||||
if (nReadPosNext >= vch.size())
|
if (nReadPosNext > vch.size()) {
|
||||||
{
|
|
||||||
if (nReadPosNext > vch.size())
|
|
||||||
{
|
|
||||||
throw std::ios_base::failure("CDataStream::read(): end of data");
|
throw std::ios_base::failure("CDataStream::read(): end of data");
|
||||||
}
|
}
|
||||||
memcpy(pch, &vch[nReadPos], nSize);
|
memcpy(pch, &vch[nReadPos], nSize);
|
||||||
|
if (nReadPosNext == vch.size())
|
||||||
|
{
|
||||||
nReadPos = 0;
|
nReadPos = 0;
|
||||||
vch.clear();
|
vch.clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
memcpy(pch, &vch[nReadPos], nSize);
|
|
||||||
nReadPos = nReadPosNext;
|
nReadPos = nReadPosNext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue