From 82ff4e067964798886c6072e0be248aa3515489e Mon Sep 17 00:00:00 2001 From: alandefreitas Date: Wed, 11 Jan 2023 23:14:58 -0300 Subject: [PATCH] static_string<0> does not memcpy fix #41 --- include/boost/static_string/static_string.hpp | 2 +- test/static_string.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/include/boost/static_string/static_string.hpp b/include/boost/static_string/static_string.hpp index 12a3ab1..60dae3b 100644 --- a/include/boost/static_string/static_string.hpp +++ b/include/boost/static_string/static_string.hpp @@ -1319,7 +1319,7 @@ public: basic_static_string& assign(const basic_static_string& s) noexcept { - if (this == &s) + if (data() == s.data()) return *this; return assign_unchecked(s.data(), s.size()); } diff --git a/test/static_string.cpp b/test/static_string.cpp index 9f8541c..5288b45 100644 --- a/test/static_string.cpp +++ b/test/static_string.cpp @@ -674,6 +674,13 @@ testAssignment() s_long.assign(s_long.data() + 2, 8); BOOST_TEST(s_long == "rem ipsu"); + + // issue #41 + { + boost::static_strings::static_string<0> a; + auto b = a; + BOOST_TEST(b == ""); + } } // done