| Index: core/include/fxcrt/fx_string.h
|
| diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h
|
| index c46a97166b9b7aee6b811df8054bb6611e3222c3..023f7658c3f9c492d077400b28c7626600a27f3e 100644
|
| --- a/core/include/fxcrt/fx_string.h
|
| +++ b/core/include/fxcrt/fx_string.h
|
| @@ -12,15 +12,11 @@
|
|
|
| #include "fx_memory.h"
|
|
|
| -class CFX_ByteStringC;
|
| +class CFX_BinaryBuf;
|
| class CFX_ByteString;
|
| -class CFX_WideStringC;
|
| class CFX_WideString;
|
| struct CFX_CharMap;
|
| -class CFX_BinaryBuf;
|
| typedef int FX_STRSIZE;
|
| -class CFX_ByteStringL;
|
| -class CFX_WideStringL;
|
|
|
| // An immutable string with caller-provided storage which must outlive the
|
| // string itself.
|
| @@ -208,12 +204,14 @@ public:
|
|
|
| CFX_ByteString(char ch);
|
|
|
| - CFX_ByteString(FX_LPCSTR ptr, FX_STRSIZE len = -1);
|
| + CFX_ByteString(FX_LPCSTR ptr)
|
| + : CFX_ByteString(ptr, ptr ? FXSYS_strlen(ptr) : 0) { }
|
| +
|
| + CFX_ByteString(FX_LPCSTR ptr, FX_STRSIZE len);
|
|
|
| CFX_ByteString(FX_LPCBYTE ptr, FX_STRSIZE len);
|
|
|
| CFX_ByteString(FX_BSTR bstrc);
|
| -
|
| CFX_ByteString(FX_BSTR bstrc1, FX_BSTR bstrc2);
|
|
|
| ~CFX_ByteString();
|
| @@ -631,10 +629,10 @@ public:
|
|
|
| CFX_WideString(const CFX_WideString& str);
|
|
|
| - CFX_WideString(FX_LPCWSTR ptr, FX_STRSIZE len = -1)
|
| - {
|
| - InitStr(ptr, len);
|
| - }
|
| + CFX_WideString(FX_LPCWSTR ptr)
|
| + : CFX_WideString(ptr, ptr ? FXSYS_wcslen(ptr) : 0) { }
|
| +
|
| + CFX_WideString(FX_LPCWSTR ptr, FX_STRSIZE len);
|
|
|
| CFX_WideString(FX_WCHAR ch);
|
|
|
| @@ -785,16 +783,16 @@ public:
|
| CFX_ByteString UTF16LE_Encode() const;
|
|
|
| void ConvertFrom(const CFX_ByteString& str, CFX_CharMap* pCharMap = NULL);
|
| -protected:
|
| - void InitStr(FX_LPCWSTR ptr, int len);
|
|
|
| - CFX_StringDataW* m_pData;
|
| +protected:
|
| void CopyBeforeWrite();
|
| void AllocBeforeWrite(FX_STRSIZE nLen);
|
| void ConcatInPlace(FX_STRSIZE nSrcLen, FX_LPCWSTR lpszSrcData);
|
| void ConcatCopy(FX_STRSIZE nSrc1Len, FX_LPCWSTR lpszSrc1Data, FX_STRSIZE nSrc2Len, FX_LPCWSTR lpszSrc2Data);
|
| void AssignCopy(FX_STRSIZE nSrcLen, FX_LPCWSTR lpszSrcData);
|
| void AllocCopy(CFX_WideString& dest, FX_STRSIZE nCopyLen, FX_STRSIZE nCopyIndex) const;
|
| +
|
| + CFX_StringDataW* m_pData;
|
| };
|
| inline CFX_WideStringC::CFX_WideStringC(const CFX_WideString& src)
|
| {
|
|
|