aboutsummaryrefslogtreecommitdiff
path: root/src/streams.h
diff options
context:
space:
mode:
authorgnuser <cjay0106@gmail.com>2017-09-02 22:41:25 -0700
committergnuser <cjay0106@gmail.com>2017-09-02 22:41:25 -0700
commit9db9d6215f48167c0d1f441527796a14bc223ff7 (patch)
treea39174b1bd79151da14d42399c47efc2ac0e10e9 /src/streams.h
parentacb11535cb8499fd47fdde7f52457f8945b58856 (diff)
downloadbitcoin-9db9d6215f48167c0d1f441527796a14bc223ff7.tar.xz
Refactor: make the read function simpler
Diffstat (limited to 'src/streams.h')
-rw-r--r--src/streams.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/streams.h b/src/streams.h
index 8dc5a19ead..df1cd50c91 100644
--- a/src/streams.h
+++ b/src/streams.h
@@ -345,18 +345,16 @@ public:
// Read from the beginning of the buffer
unsigned int nReadPosNext = nReadPos + nSize;
- if (nReadPosNext >= vch.size())
+ if (nReadPosNext > vch.size()) {
+ throw std::ios_base::failure("CDataStream::read(): end of data");
+ }
+ memcpy(pch, &vch[nReadPos], nSize);
+ if (nReadPosNext == vch.size())
{
- if (nReadPosNext > vch.size())
- {
- throw std::ios_base::failure("CDataStream::read(): end of data");
- }
- memcpy(pch, &vch[nReadPos], nSize);
nReadPos = 0;
vch.clear();
return;
}
- memcpy(pch, &vch[nReadPos], nSize);
nReadPos = nReadPosNext;
}