From 12db7515f17228798d1aa38fce0fee3e7d2d36b6 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Wed, 23 Aug 2017 10:39:35 -0400 Subject: Convert string Find methods to return an Optional The Find and ReverseFind methods for WideString, WideStringC, ByteString, and ByteStringC have been converted from returning a raw FX_STRSIZE, to returning Optional, so that success/failure can be indicated without using FX_STRNPOS. This allows for removing FX_STRNPOS and by association makes the conversion of FX_STRSIZE to size_t easier, since it forces checking the return value of Find to be explictly done as well as taking the error value out of the range of FX_STRSIZE. New Contains methods have been added for cases where the success or failure is all the call site to Find cared about, and the actual position was ignored. BUG=pdfium:828 Change-Id: Id827e508c8660affa68cc08a13d96121369364b7 Reviewed-on: https://pdfium-review.googlesource.com/11350 Commit-Queue: Ryan Harrison Reviewed-by: dsinclair --- fpdfsdk/javascript/PublicMethods.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'fpdfsdk/javascript') diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp index 09815413ad..ff1d4fb7b7 100644 --- a/fpdfsdk/javascript/PublicMethods.cpp +++ b/fpdfsdk/javascript/PublicMethods.cpp @@ -527,7 +527,7 @@ double CJS_PublicMethods::MakeRegularDate(const CFX_WideString& value, CFX_WideString sFullMonths = fullmonths[m]; sFullMonths.MakeLower(); - if (sFullMonths.Find(sMonth.c_str(), 0) != FX_STRNPOS) { + if (sFullMonths.Contains(sMonth.c_str())) { nMonth = m + 1; i += 4; j += nSkip; @@ -933,8 +933,7 @@ bool CJS_PublicMethods::AFNumber_Keystroke(CJS_Runtime* pRuntime, pEvent->SelEnd() - pEvent->SelStart()); } - bool bHasSign = wstrValue.Find(L'-') != FX_STRNPOS && - wstrSelected.Find(L'-') == FX_STRNPOS; + bool bHasSign = wstrValue.Contains(L'-') && !wstrSelected.Contains(L'-'); if (bHasSign) { // can't insert "change" in front to sign postion. if (pEvent->SelStart() == 0) { @@ -948,7 +947,7 @@ bool CJS_PublicMethods::AFNumber_Keystroke(CJS_Runtime* pRuntime, iSepStyle = 0; const wchar_t cSep = iSepStyle < 2 ? L'.' : L','; - bool bHasSep = wstrValue.Find(cSep) != FX_STRNPOS; + bool bHasSep = wstrValue.Contains(cSep); for (FX_STRSIZE i = 0; i < wstrChange.GetLength(); ++i) { if (wstrChange[i] == cSep) { if (bHasSep) { @@ -1113,7 +1112,7 @@ bool CJS_PublicMethods::AFDate_FormatEx(CJS_Runtime* pRuntime, CFX_WideString sFormat = params[0].ToCFXWideString(pRuntime); double dDate = 0.0f; - if (strValue.Find(L"GMT") != FX_STRNPOS) { + if (strValue.Contains(L"GMT")) { // for GMT format time // such as "Tue Aug 11 14:24:16 GMT+08002009" dDate = MakeInterDate(strValue); -- cgit v1.2.3