diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp index b154cbae..4e9ae50d 100644 --- a/taglib/toolkit/tstring.cpp +++ b/taglib/toolkit/tstring.cpp @@ -23,8 +23,6 @@ * http://www.mozilla.org/MPL/ * ***************************************************************************/ -// This class assumes that std::basic_string has a contiguous and null-terminated buffer. - #include #include #include @@ -101,14 +99,12 @@ namespace } data.resize(length); - if(length > 0) { - if(swap) { - for(size_t i = 0; i < length; ++i) - data[i] = Utils::byteSwap(static_cast(s[i])); - } - else { - ::wmemcpy(&data[0], s, length); - } + for(size_t i = 0; i < length; ++i) { + unsigned short c = static_cast(s[i]); + if(swap) + c = Utils::byteSwap(c); + + data[i] = c; } }