summaryrefslogtreecommitdiff
path: root/core/src/fxcrt
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-05-05 15:15:38 -0700
committerTom Sepez <tsepez@chromium.org>2015-05-05 15:15:38 -0700
commit2cf0d21788974dd1ea19a68259c4fbccb0e56897 (patch)
tree06f5cd5713ad59a0dfc4bf1152ac0b679c7d51b1 /core/src/fxcrt
parentaadcd71ab29f588d4997ec25855f60f5866959f2 (diff)
downloadpdfium-2cf0d21788974dd1ea19a68259c4fbccb0e56897.tar.xz
Make sure string constructors are efficient on literals
Separate out the overload when the length is not known, and be sure that strlen() call is in the header so that strlen("foo") => 3 (since many compilers support this optimization). Also delete some unused types. BUG=pdfium:151 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1117263004
Diffstat (limited to 'core/src/fxcrt')
-rw-r--r--core/src/fxcrt/fx_basic_wstring.cpp28
1 files changed, 13 insertions, 15 deletions
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);