aboutsummaryrefslogtreecommitdiff
path: root/serialize.h
diff options
context:
space:
mode:
Diffstat (limited to 'serialize.h')
-rw-r--r--serialize.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/serialize.h b/serialize.h
index c47dddc87c..2292651e83 100644
--- a/serialize.h
+++ b/serialize.h
@@ -19,7 +19,7 @@ class CScript;
class CDataStream;
class CAutoFile;
-static const int VERSION = 208;
+static const int VERSION = 209;
static const char* pszSubVer = ".0";
@@ -809,6 +809,18 @@ public:
vch.insert(it, first, last);
}
+ void insert(iterator it, vector<char>::const_iterator first, vector<char>::const_iterator last)
+ {
+ if (it == vch.begin() + nReadPos && last - first <= nReadPos)
+ {
+ // special case for inserting at the front when there's room
+ nReadPos -= (last - first);
+ memcpy(&vch[nReadPos], &first[0], last - first);
+ }
+ else
+ vch.insert(it, first, last);
+ }
+
#if !defined(_MSC_VER) || _MSC_VER >= 1300
void insert(iterator it, const char* first, const char* last)
{