| Index: core/src/fxcrt/fx_basic_wstring.cpp
|
| diff --git a/core/src/fxcrt/fx_basic_wstring.cpp b/core/src/fxcrt/fx_basic_wstring.cpp
|
| index 7ea7e8e11244477841d80ebe7c93d292bda35d78..220ffbd57dad029884997333412f4085a04bf959 100644
|
| --- a/core/src/fxcrt/fx_basic_wstring.cpp
|
| +++ b/core/src/fxcrt/fx_basic_wstring.cpp
|
| @@ -287,17 +287,19 @@ CFX_ByteString CFX_WideString::UTF8Encode() const {
|
| return FX_UTF8Encode(*this);
|
| }
|
| CFX_ByteString CFX_WideString::UTF16LE_Encode() const {
|
| - CFX_ByteString result;
|
| - if (!m_pData) {
|
| - return result;
|
| + if (m_pData == NULL) {
|
| + return CFX_ByteString(FX_BSTRC("\0\0"));
|
| }
|
| int len = m_pData->m_nDataLength;
|
| - FX_CHAR* buffer = result.GetBuffer(len * 2);
|
| - for (int i = 0; i < len; ++i) {
|
| + CFX_ByteString result;
|
| + FX_CHAR* buffer = result.GetBuffer(len * 2 + 2);
|
| + for (int i = 0; i < len; i++) {
|
| buffer[i * 2] = m_pData->m_String[i] & 0xff;
|
| buffer[i * 2 + 1] = m_pData->m_String[i] >> 8;
|
| }
|
| - result.ReleaseBuffer(len * 2);
|
| + buffer[len * 2] = 0;
|
| + buffer[len * 2 + 1] = 0;
|
| + result.ReleaseBuffer(len * 2 + 2);
|
| return result;
|
| }
|
| void CFX_WideString::ConvertFrom(const CFX_ByteString& str,
|
|
|