| 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 2370c87cf18a450d419df7be4ce148bb964d1205..d83aa852136c4fea093348b2318e4d4d0c10d99d 100644
|
| --- a/core/src/fxcrt/fx_basic_wstring.cpp
|
| +++ b/core/src/fxcrt/fx_basic_wstring.cpp
|
| @@ -303,13 +303,7 @@ CFX_ByteString CFX_WideString::UTF16LE_Encode() const {
|
| result.ReleaseBuffer(len * 2 + 2);
|
| return result;
|
| }
|
| -void CFX_WideString::ConvertFrom(const CFX_ByteString& str,
|
| - CFX_CharMap* pCharMap) {
|
| - if (!pCharMap) {
|
| - pCharMap = CFX_CharMap::GetDefaultMapper();
|
| - }
|
| - *this = pCharMap->m_GetWideString(pCharMap, str);
|
| -}
|
| +
|
| void CFX_WideString::Reserve(FX_STRSIZE len) {
|
| GetBuffer(len);
|
| ReleaseBuffer(GetLength());
|
| @@ -346,11 +340,20 @@ FX_WCHAR* CFX_WideString::GetBuffer(FX_STRSIZE nMinBufLength) {
|
| pOldData->Release();
|
| return m_pData->m_String;
|
| }
|
| -CFX_WideString CFX_WideString::FromLocal(const char* str, FX_STRSIZE len) {
|
| - CFX_WideString result;
|
| - result.ConvertFrom(CFX_ByteString(str, len));
|
| - return result;
|
| +
|
| +// static
|
| +CFX_WideString CFX_WideString::FromLocal(const CFX_ByteString& str) {
|
| + return FromCodePage(str, 0);
|
| }
|
| +
|
| +// static
|
| +CFX_WideString CFX_WideString::FromCodePage(const CFX_ByteString& str,
|
| + FX_WORD codepage) {
|
| + CFX_CharMap* pCharMap = CFX_CharMap::GetDefaultMapper(codepage);
|
| + return pCharMap->m_GetWideString(pCharMap, str);
|
| +}
|
| +
|
| +// static
|
| CFX_WideString CFX_WideString::FromUTF8(const char* str, FX_STRSIZE len) {
|
| if (!str || 0 == len) {
|
| return CFX_WideString();
|
| @@ -362,6 +365,8 @@ CFX_WideString CFX_WideString::FromUTF8(const char* str, FX_STRSIZE len) {
|
| }
|
| return decoder.GetResult();
|
| }
|
| +
|
| +// static
|
| CFX_WideString CFX_WideString::FromUTF16LE(const unsigned short* wstr,
|
| FX_STRSIZE wlen) {
|
| if (!wstr || 0 == wlen) {
|
| @@ -376,6 +381,7 @@ CFX_WideString CFX_WideString::FromUTF16LE(const unsigned short* wstr,
|
| result.ReleaseBuffer(wlen);
|
| return result;
|
| }
|
| +
|
| FX_STRSIZE CFX_WideString::WStringLength(const unsigned short* str) {
|
| FX_STRSIZE len = 0;
|
| if (str)
|
|
|