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