From 997bc0e2b4fd3f43b17b9bfcec8a9cac2283cb1d Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Tue, 5 May 2015 15:51:17 -0700 Subject: Merge to XFA: Make sure string constructors are efficient on literals Besides the merge, there's one place where a wchar vs. wstring comparison was being made that no longer compiled. Original Review URL: https://codereview.chromium.org/1117263004 BUG=pdfium:151 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1116163003 --- core/src/fxcrt/fx_basic_wstring.cpp | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) (limited to '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 9b27537ed9..3465b4a926 100644 --- a/core/src/fxcrt/fx_basic_wstring.cpp +++ b/core/src/fxcrt/fx_basic_wstring.cpp @@ -63,21 +63,6 @@ CFX_WideString::~CFX_WideString() FX_Free(m_pData); } } -void CFX_WideString::InitStr(FX_LPCWSTR lpsz, FX_STRSIZE nLen) -{ - if (nLen < 0) { - nLen = lpsz ? (FX_STRSIZE)FXSYS_wcslen(lpsz) : 0; - } - if (nLen) { - m_pData = FX_AllocStringW(nLen); - if (!m_pData) { - return; - } - FXSYS_memcpy32(m_pData->m_String, lpsz, nLen * sizeof(FX_WCHAR)); - } else { - m_pData = NULL; - } -} CFX_WideString::CFX_WideString(const CFX_WideString& stringSrc) { if (stringSrc.m_pData == NULL) { @@ -92,6 +77,19 @@ CFX_WideString::CFX_WideString(const CFX_WideString& stringSrc) *this = stringSrc; } } +CFX_WideString::CFX_WideString(FX_LPCWSTR lpsz, FX_STRSIZE nLen) { + if (nLen < 0) { + nLen = lpsz ? (FX_STRSIZE)FXSYS_wcslen(lpsz) : 0; + } + if (nLen) { + m_pData = FX_AllocStringW(nLen); + if (m_pData) { + FXSYS_memcpy32(m_pData->m_String, lpsz, nLen * sizeof(FX_WCHAR)); + } + } else { + m_pData = NULL; + } +} CFX_WideString::CFX_WideString(FX_WCHAR ch) { m_pData = FX_AllocStringW(1); -- cgit v1.2.3