From 230ee34b249f68aceb7fba2671a7cca9f74a29bf Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Sat, 19 May 2012 18:15:12 -0700 Subject: [PATCH] Add getRaw for vector and addZeros to Serializer. --- src/Serializer.cpp | 19 +++++++++++++++++++ src/Serializer.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/Serializer.cpp b/src/Serializer.cpp index b1803de4c8..91b8dcf755 100644 --- a/src/Serializer.cpp +++ b/src/Serializer.cpp @@ -4,6 +4,16 @@ #include #include +int Serializer::addZeros(size_t uBytes) +{ + int ret = mData.size(); + + while (uBytes--) + mData.push_back(0); + + return ret; +} + int Serializer::add16(uint16 i) { int ret = mData.size(); @@ -574,4 +584,13 @@ std::vector SerializerIterator::getTaggedList() mPos += length; return tl; } + +std::vector SerializerIterator::getRaw(int iLength) +{ + int iPos = mPos; + mPos += iLength; + + return mSerializer.getRaw(iPos, iLength); +} + // vim:ts=4 diff --git a/src/Serializer.h b/src/Serializer.h index e20be248a6..6000c4e89b 100644 --- a/src/Serializer.h +++ b/src/Serializer.h @@ -36,6 +36,7 @@ class Serializer int addRaw(const std::vector &vector); int addRaw(const void *ptr, int len); int addRaw(const Serializer& s); + int addZeros(size_t uBytes); int addVL(const std::vector &vector); int addVL(const void *ptr, int len); @@ -136,6 +137,8 @@ public: uint160 get160(); uint256 get256(); + std::vector getRaw(int iLength); + std::vector getVL(); std::vector getTaggedList(); };