diff --git a/src/sexp-simple-string.cpp b/src/sexp-simple-string.cpp index fae1d4a..3029850 100644 --- a/src/sexp-simple-string.cpp +++ b/src/sexp-simple-string.cpp @@ -43,8 +43,9 @@ sexp_simple_string_t::sexp_simple_string_t(const octet_t *dt) : std::vector(ln) + : std::vector() { + reserve(ln); for (size_t s = 0; s < ln; ++bt, ++s) push_back(*bt); } diff --git a/tests/src/primitives-tests.cpp b/tests/src/primitives-tests.cpp index 1813b73..c73a0b9 100644 --- a/tests/src/primitives-tests.cpp +++ b/tests/src/primitives-tests.cpp @@ -392,4 +392,15 @@ TEST_F(PrimitivesTests, EnsureHexTest) EXPECT_EQ(oss.str(), "(#610963#)"); } +TEST_F(PrimitivesTests, SimpleStringConstructors) +{ + const char* tss = "test simple string"; + + sexp_simple_string_t sss1 (reinterpret_cast(tss)); + EXPECT_TRUE(sss1 == tss); + + sexp_simple_string_t sss2 (reinterpret_cast(tss), 4); + EXPECT_TRUE(sss2 == "test"); +} + } // namespace