diff --git a/ctl/string.h b/ctl/string.h index 0656418a5..bde53773f 100644 --- a/ctl/string.h +++ b/ctl/string.h @@ -87,10 +87,7 @@ class string void swap(string& s) noexcept { - char tmp[__::string_size]; - __builtin_memcpy(tmp, blob, __::string_size); - __builtin_memcpy(blob, s.blob, __::string_size); - __builtin_memcpy(s.blob, tmp, __::string_size); + std::swap(blob, s.blob); } string(string&& s) noexcept diff --git a/ctl/string_view.h b/ctl/string_view.h index 518c955bd..5f71a5fb3 100644 --- a/ctl/string_view.h +++ b/ctl/string_view.h @@ -2,6 +2,7 @@ // vi: set et ft=cpp ts=4 sts=4 sw=4 fenc=utf-8 :vi #ifndef COSMOPOLITAN_CTL_STRINGVIEW_H_ #define COSMOPOLITAN_CTL_STRINGVIEW_H_ +#include <__utility/swap.h> namespace ctl {