diff options
author | Ryan Harrison <rharrison@chromium.org> | 2017-08-01 15:16:59 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-01 19:35:49 +0000 |
commit | da129ab38c3fb6ed3de85ffb6f8938eb31130a53 (patch) | |
tree | 1ed3980d91ae9258f917124d69f0276260e34b71 /fpdfsdk/javascript | |
parent | de7c9620c37486413e1f7db4567b4b0cea6a857f (diff) | |
download | pdfium-da129ab38c3fb6ed3de85ffb6f8938eb31130a53.tar.xz |
Replace raw value for constant error value in string operations
Currently Find() and other methods that return a FX_STRSIZE return -1
to indicate error/failure. This means that there is a lot of magic
numbers and magic checks floating around. The standard library for
similar operations uses a npos constant. This CL implements
FX_STRNPOS, and replaces usages of magic number checking. It also does
some type cleanup along the way where it was obvious that FX_STRSIZE
should be being used.
Removing the magic numbers should make eventually changing FX_STRSIZE
to be unsigned easier in the future.
BUG=pdfium:828
Change-Id: I67e481e44cf2f75a1698afa8fbee4f375a74c490
Reviewed-on: https://pdfium-review.googlesource.com/9651
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'fpdfsdk/javascript')
-rw-r--r-- | fpdfsdk/javascript/PublicMethods.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp index 06ed64c7cc..f5d3c68780 100644 --- a/fpdfsdk/javascript/PublicMethods.cpp +++ b/fpdfsdk/javascript/PublicMethods.cpp @@ -526,7 +526,7 @@ double CJS_PublicMethods::MakeRegularDate(const CFX_WideString& value, CFX_WideString sFullMonths = fullmonths[m]; sFullMonths.MakeLower(); - if (sFullMonths.Find(sMonth.c_str(), 0) != -1) { + if (sFullMonths.Find(sMonth.c_str(), 0) != FX_STRNPOS) { nMonth = m + 1; i += 4; j += nSkip; @@ -932,7 +932,8 @@ bool CJS_PublicMethods::AFNumber_Keystroke(CJS_Runtime* pRuntime, pEvent->SelEnd() - pEvent->SelStart()); } - bool bHasSign = wstrValue.Find(L'-') != -1 && wstrSelected.Find(L'-') == -1; + bool bHasSign = wstrValue.Find(L'-') != FX_STRNPOS && + wstrSelected.Find(L'-') == FX_STRNPOS; if (bHasSign) { // can't insert "change" in front to sign postion. if (pEvent->SelStart() == 0) { @@ -946,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) != -1; + bool bHasSep = wstrValue.Find(cSep) != FX_STRNPOS; for (FX_STRSIZE i = 0; i < wstrChange.GetLength(); ++i) { if (wstrChange[i] == cSep) { if (bHasSep) { @@ -1111,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") != -1) { + if (strValue.Find(L"GMT") != FX_STRNPOS) { // for GMT format time // such as "Tue Aug 11 14:24:16 GMT+08002009" dDate = MakeInterDate(strValue); |