diff options
author | luigi1111 <luigi1111w@gmail.com> | 2020-12-19 17:26:13 -0600 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2020-12-19 17:26:13 -0600 |
commit | 3bd6ed94d7a950cd7723efcd453b32d6ba8f5e3a (patch) | |
tree | 4977a0e259e93cf4949eeb07afae53f7947efbd9 | |
parent | Merge pull request #7143 (diff) | |
parent | Fix byte_stream::put_n (diff) | |
download | monero-3bd6ed94d7a950cd7723efcd453b32d6ba8f5e3a.tar.xz |
Merge pull request #7151
4978f69 Fix byte_stream::put_n (Lee Clagett)
-rw-r--r-- | contrib/epee/include/byte_stream.h | 2 | ||||
-rw-r--r-- | tests/unit_tests/epee_utils.cpp | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/contrib/epee/include/byte_stream.h b/contrib/epee/include/byte_stream.h index 30abd050d..93f9ac85c 100644 --- a/contrib/epee/include/byte_stream.h +++ b/contrib/epee/include/byte_stream.h @@ -175,7 +175,7 @@ namespace epee void put_n(const std::uint8_t ch, const std::size_t count) { check(count); - std::memset(tellp(), count, ch); + std::memset(tellp(), ch, count); next_write_ += count; } diff --git a/tests/unit_tests/epee_utils.cpp b/tests/unit_tests/epee_utils.cpp index 207c4a7dc..256f8c3c2 100644 --- a/tests/unit_tests/epee_utils.cpp +++ b/tests/unit_tests/epee_utils.cpp @@ -982,6 +982,23 @@ TEST(ByteStream, Put) EXPECT_TRUE(equal(bytes, byte_span{stream.data(), stream.size()})); } +TEST(ByteStream, PutN) +{ + using boost::range::equal; + using byte_span = epee::span<const std::uint8_t>; + + std::vector<std::uint8_t> bytes; + bytes.resize(1000, 'f'); + + epee::byte_stream stream; + stream.put_n('f', 1000); + + EXPECT_EQ(1000u, stream.size()); + EXPECT_LE(1000u, stream.capacity()); + EXPECT_EQ(stream.available(), stream.capacity() - stream.size()); + EXPECT_TRUE(equal(bytes, byte_span{stream.data(), stream.size()})); +} + TEST(ByteStream, Reserve) { using boost::range::equal; |