Chromium Code Reviews| Index: core/include/fxcrt/fx_string.h |
| diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h |
| index 26b04b70fad6f12c70e7ccf4dd7b9601d8c4872a..568084849c8adf82a7b0261e74307ff84816bc40 100644 |
| --- a/core/include/fxcrt/fx_string.h |
| +++ b/core/include/fxcrt/fx_string.h |
| @@ -597,7 +597,7 @@ private: |
| } |
| }; |
| typedef const CFX_WideStringC& FX_WSTR; |
| -#define FX_WSTRC(wstr) CFX_WideStringC((FX_LPCWSTR)wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1) |
| +#define FX_WSTRC(wstr) CFX_WideStringC(wstr, sizeof(wstr) / sizeof(FX_WCHAR) - 1) |
| struct CFX_StringDataW { |
| long m_nRefs; |
| @@ -640,9 +640,16 @@ public: |
| static FX_STRSIZE WStringLength(const unsigned short* str); |
| + // Explicit conversion to raw string |
|
Tom Sepez
2014/11/17 19:14:02
nit: Maybe say "C-style wide string" rather than r
brucedawson
2014/11/17 19:34:14
Done.
|
| + FX_LPCWSTR c_str() const |
| + { |
| + return m_pData ? m_pData->m_String : L""; |
| + } |
| + |
| + // Implicit conversion to raw string -- deprecated |
| operator FX_LPCWSTR() const |
| { |
| - return m_pData ? m_pData->m_String : (FX_WCHAR*)L""; |
| + return m_pData ? m_pData->m_String : L""; |
| } |
| void Empty(); |
| @@ -762,12 +769,12 @@ protected: |
| }; |
| inline CFX_WideStringC::CFX_WideStringC(const CFX_WideString& src) |
| { |
| - m_Ptr = (FX_LPCWSTR)src; |
| + m_Ptr = src.c_str(); |
| m_Length = src.GetLength(); |
| } |
| inline CFX_WideStringC& CFX_WideStringC::operator = (const CFX_WideString& src) |
| { |
| - m_Ptr = (FX_LPCWSTR)src; |
| + m_Ptr = src.c_str(); |
| m_Length = src.GetLength(); |
| return *this; |
| } |
| @@ -841,6 +848,6 @@ inline CFX_ByteString FX_UTF8Encode(FX_WSTR wsStr) |
| } |
| inline CFX_ByteString FX_UTF8Encode(const CFX_WideString &wsStr) |
| { |
| - return FX_UTF8Encode((FX_LPCWSTR)wsStr, wsStr.GetLength()); |
| + return FX_UTF8Encode(wsStr.c_str(), wsStr.GetLength()); |
| } |
| #endif |