diff options
author | Tom Sepez <tsepez@chromium.org> | 2017-02-13 10:26:01 -0800 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-02-13 19:00:17 +0000 |
commit | f0b65545313f065790de7f91c02e5dd160753abd (patch) | |
tree | 747c55722c6b45a979d5c2894a259396a3189ed7 /core/fxcrt | |
parent | 5fb0ad8adac5fcbf8c8f1965164f41d11c0af669 (diff) | |
download | pdfium-f0b65545313f065790de7f91c02e5dd160753abd.tar.xz |
Simplify FX_UTF8Encode variants.chromium/3012
Doing so reveals places where there are needless copies
and conversions.
Change-Id: I24a868d40aa63836f4167eaf4541964049df7916
Reviewed-on: https://pdfium-review.googlesource.com/2555
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxcrt')
-rw-r--r-- | core/fxcrt/fx_basic_utf.cpp | 8 | ||||
-rw-r--r-- | core/fxcrt/fx_basic_wstring.cpp | 4 | ||||
-rw-r--r-- | core/fxcrt/fx_string.h | 11 | ||||
-rw-r--r-- | core/fxcrt/fx_xml_parser.cpp | 2 |
4 files changed, 8 insertions, 17 deletions
diff --git a/core/fxcrt/fx_basic_utf.cpp b/core/fxcrt/fx_basic_utf.cpp index 8dbbb28877..c0f14c8178 100644 --- a/core/fxcrt/fx_basic_utf.cpp +++ b/core/fxcrt/fx_basic_utf.cpp @@ -73,13 +73,13 @@ void CFX_UTF8Encoder::Input(FX_WCHAR unicode) { } } } -CFX_ByteString FX_UTF8Encode(const FX_WCHAR* pwsStr, FX_STRSIZE len) { - if (len < 0) - len = FXSYS_wcslen(pwsStr); +CFX_ByteString FX_UTF8Encode(const CFX_WideStringC& wsStr) { + FX_STRSIZE len = wsStr.GetLength(); + const FX_WCHAR* pStr = wsStr.c_str(); CFX_UTF8Encoder encoder; while (len-- > 0) - encoder.Input(*pwsStr++); + encoder.Input(*pStr++); return CFX_ByteString(encoder.GetResult()); } diff --git a/core/fxcrt/fx_basic_wstring.cpp b/core/fxcrt/fx_basic_wstring.cpp index e779621e60..93b9ba7c25 100644 --- a/core/fxcrt/fx_basic_wstring.cpp +++ b/core/fxcrt/fx_basic_wstring.cpp @@ -343,12 +343,10 @@ void CFX_WideString::Concat(const FX_WCHAR* pSrcData, FX_STRSIZE nSrcLen) { m_pData.Swap(pNewData); } -// static CFX_ByteString CFX_WideString::UTF8Encode() const { - return FX_UTF8Encode(*this); + return FX_UTF8Encode(AsStringC()); } -// static CFX_ByteString CFX_WideString::UTF16LE_Encode() const { if (!m_pData) { return CFX_ByteString("\0\0", 2); diff --git a/core/fxcrt/fx_string.h b/core/fxcrt/fx_string.h index 750216fd3e..cd93f27275 100644 --- a/core/fxcrt/fx_string.h +++ b/core/fxcrt/fx_string.h @@ -424,17 +424,10 @@ inline bool operator!=(const CFX_WideStringC& lhs, const CFX_WideString& rhs) { return rhs != lhs; } -CFX_ByteString FX_UTF8Encode(const FX_WCHAR* pwsStr, FX_STRSIZE len); -inline CFX_ByteString FX_UTF8Encode(const CFX_WideStringC& wsStr) { - return FX_UTF8Encode(wsStr.c_str(), wsStr.GetLength()); -} -inline CFX_ByteString FX_UTF8Encode(const CFX_WideString& wsStr) { - return FX_UTF8Encode(wsStr.c_str(), wsStr.GetLength()); -} - +CFX_ByteString FX_UTF8Encode(const CFX_WideStringC& wsStr); FX_FLOAT FX_atof(const CFX_ByteStringC& str); inline FX_FLOAT FX_atof(const CFX_WideStringC& wsStr) { - return FX_atof(FX_UTF8Encode(wsStr.c_str(), wsStr.GetLength()).c_str()); + return FX_atof(FX_UTF8Encode(wsStr).c_str()); } bool FX_atonum(const CFX_ByteStringC& str, void* pData); FX_STRSIZE FX_ftoa(FX_FLOAT f, FX_CHAR* buf); diff --git a/core/fxcrt/fx_xml_parser.cpp b/core/fxcrt/fx_xml_parser.cpp index 1b562c2083..7658620424 100644 --- a/core/fxcrt/fx_xml_parser.cpp +++ b/core/fxcrt/fx_xml_parser.cpp @@ -773,7 +773,7 @@ CFX_ByteString CXML_Element::GetNamespaceURI( } pElement = pElement->GetParent(); } while (pElement); - return pwsSpace ? FX_UTF8Encode(*pwsSpace) : CFX_ByteString(); + return pwsSpace ? pwsSpace->UTF8Encode() : CFX_ByteString(); } void CXML_Element::GetAttrByIndex(int index, CFX_ByteString& space, |