diff options
author | Lee Clagett <code@leeclagett.com> | 2020-12-14 14:45:24 -0500 |
---|---|---|
committer | Lee Clagett <code@leeclagett.com> | 2020-12-14 14:45:24 -0500 |
commit | 4978f69d7afa9511702419ea0b919a3d1a30bd92 (patch) | |
tree | 3952440e05279d22b77f59cf1a77c10d187fa867 | |
parent | Merge pull request #7102 (diff) | |
download | monero-4978f69d7afa9511702419ea0b919a3d1a30bd92.tar.xz |
Fix byte_stream::put_n
-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; |