From 51709bea3ce113df7d36a5fe6415036e26fc3236 Mon Sep 17 00:00:00 2001 From: tsepez Date: Thu, 8 Dec 2016 10:55:57 -0800 Subject: Replace CFX_WideStringArray with std::vector Minimalist changes with the tidying of the code to use better loop iterators as a follow-up. Review-Url: https://codereview.chromium.org/2556963004 --- xfa/fgas/localization/fgas_locale.cpp | 15 +++++++++------ xfa/fgas/localization/fgas_localeimp.h | 4 +++- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'xfa/fgas/localization') diff --git a/xfa/fgas/localization/fgas_locale.cpp b/xfa/fgas/localization/fgas_locale.cpp index aea7bacc11..d6ef62885d 100644 --- a/xfa/fgas/localization/fgas_locale.cpp +++ b/xfa/fgas/localization/fgas_locale.cpp @@ -7,6 +7,7 @@ #include "xfa/fgas/localization/fgas_locale.h" #include +#include #include "core/fxcrt/fx_ext.h" #include "core/fxcrt/fx_xml.h" @@ -262,9 +263,12 @@ CFX_WideString CFX_LCNumeric::ToString(int32_t nTreading, CFX_FormatString::CFX_FormatString(IFX_LocaleMgr* pLocaleMgr, bool bUseLCID) : m_pLocaleMgr(pLocaleMgr), m_bUseLCID(bUseLCID) {} + CFX_FormatString::~CFX_FormatString() {} -void CFX_FormatString::SplitFormatString(const CFX_WideString& wsFormatString, - CFX_WideStringArray& wsPatterns) { + +void CFX_FormatString::SplitFormatString( + const CFX_WideString& wsFormatString, + std::vector& wsPatterns) { int32_t iStrLen = wsFormatString.GetLength(); const FX_WCHAR* pStr = wsFormatString.c_str(); const FX_WCHAR* pToken = pStr; @@ -272,20 +276,19 @@ void CFX_FormatString::SplitFormatString(const CFX_WideString& wsFormatString, bool iQuote = false; while (true) { if (pStr >= pEnd) { - CFX_WideString sub(pToken, pStr - pToken); - wsPatterns.Add(sub); + wsPatterns.push_back(CFX_WideString(pToken, pStr - pToken)); return; } if (*pStr == '\'') { iQuote = !iQuote; } else if (*pStr == L'|' && !iQuote) { - CFX_WideString sub(pToken, pStr - pToken); - wsPatterns.Add(sub); + wsPatterns.push_back(CFX_WideString(pToken, pStr - pToken)); pToken = pStr + 1; } pStr++; } } + static CFX_WideString FX_GetLiteralText(const FX_WCHAR* pStrPattern, int32_t& iPattern, int32_t iLenPattern) { diff --git a/xfa/fgas/localization/fgas_localeimp.h b/xfa/fgas/localization/fgas_localeimp.h index 7389158798..a66921b61c 100644 --- a/xfa/fgas/localization/fgas_localeimp.h +++ b/xfa/fgas/localization/fgas_localeimp.h @@ -7,6 +7,8 @@ #ifndef XFA_FGAS_LOCALIZATION_FGAS_LOCALEIMP_H_ #define XFA_FGAS_LOCALIZATION_FGAS_LOCALEIMP_H_ +#include + #include "xfa/fgas/localization/fgas_locale.h" class CFX_LCNumeric; @@ -17,7 +19,7 @@ class CFX_FormatString { ~CFX_FormatString(); void SplitFormatString(const CFX_WideString& wsFormatString, - CFX_WideStringArray& wsPatterns); + std::vector& wsPatterns); FX_LOCALECATEGORY GetCategory(const CFX_WideString& wsPattern); uint16_t GetLCID(const CFX_WideString& wsPattern); CFX_WideString GetLocaleName(const CFX_WideString& wsPattern); -- cgit v1.2.3