diff options
author | Ryan Harrison <rharrison@chromium.org> | 2017-08-29 16:39:44 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-30 14:35:33 +0000 |
commit | aa3a9cd82df9dff1ef136797259e606a39c18b75 (patch) | |
tree | 5ca71f96fa289c5f13d22b371341882b77c7331f /fpdfsdk | |
parent | 980a3ea30872cef9ada360aa85e7c3573d7668b5 (diff) | |
download | pdfium-aa3a9cd82df9dff1ef136797259e606a39c18b75.tar.xz |
Convert int* references to FX_STRSIZE
Through out the code base there are numerous places where variables
are declared using a signed integer type when interacting with the
string classes, since they assume that FX_STRSIZE is 'int'. As part of
changing the underling type of FX_STRSIZE to be unsigned, these
locations are being changed to use FX_STRSIZE. This is necessary as
part of converting the type, but has been broken off into a separate CL,
since it should be low risk.
Some related cleanups that are low risk are included as part of
this CL.
BUG=pdfium:828
Change-Id: Ifaae54ad195ccde0fe8672f71271d29a6ebd65fd
Reviewed-on: https://pdfium-review.googlesource.com/12210
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/fpdfppo.cpp | 21 | ||||
-rw-r--r-- | fpdfsdk/javascript/Document.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/javascript/PublicMethods.cpp | 8 |
3 files changed, 17 insertions, 14 deletions
diff --git a/fpdfsdk/fpdfppo.cpp b/fpdfsdk/fpdfppo.cpp index 861b15c259..d08de020bb 100644 --- a/fpdfsdk/fpdfppo.cpp +++ b/fpdfsdk/fpdfppo.cpp @@ -77,9 +77,9 @@ bool ParserPageRangeString(CFX_ByteString rangstring, return true; rangstring.Remove(' '); - int nLength = rangstring.GetLength(); + FX_STRSIZE nLength = rangstring.GetLength(); CFX_ByteString cbCompareString("0123456789-,"); - for (int i = 0; i < nLength; ++i) { + for (FX_STRSIZE i = 0; i < nLength; ++i) { if (!cbCompareString.Contains(rangstring[i])) return false; } @@ -94,26 +94,29 @@ bool ParserPageRangeString(CFX_ByteString rangstring, cbMidRange = rangstring.Mid(nStringFrom, nStringTo.value() - nStringFrom); auto nMid = cbMidRange.Find('-'); if (!nMid.has_value()) { - long lPageNum = atol(cbMidRange.c_str()); - if (lPageNum <= 0 || lPageNum > nCount) + uint16_t pageNum = + pdfium::base::checked_cast<uint16_t>(atoi(cbMidRange.c_str())); + if (pageNum <= 0 || pageNum > nCount) return false; - pageArray->push_back((uint16_t)lPageNum); + pageArray->push_back(pageNum); } else { - int nStartPageNum = atol(cbMidRange.Left(nMid.value()).c_str()); + uint16_t nStartPageNum = pdfium::base::checked_cast<uint16_t>( + atoi(cbMidRange.Left(nMid.value()).c_str())); if (nStartPageNum == 0) return false; nMid = nMid.value() + 1; - int nEnd = cbMidRange.GetLength() - nMid.value(); + FX_STRSIZE nEnd = cbMidRange.GetLength() - nMid.value(); if (nEnd == 0) return false; - int nEndPageNum = atol(cbMidRange.Mid(nMid.value(), nEnd).c_str()); + uint16_t nEndPageNum = pdfium::base::checked_cast<uint16_t>( + atoi(cbMidRange.Mid(nMid.value(), nEnd).c_str())); if (nStartPageNum < 0 || nStartPageNum > nEndPageNum || nEndPageNum > nCount) { return false; } - for (int i = nStartPageNum; i <= nEndPageNum; ++i) { + for (uint16_t i = nStartPageNum; i <= nEndPageNum; ++i) { pageArray->push_back(i); } } diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp index 9b821471c2..d8934a44f6 100644 --- a/fpdfsdk/javascript/Document.cpp +++ b/fpdfsdk/javascript/Document.cpp @@ -1016,7 +1016,7 @@ bool Document::documentFileName(CJS_Runtime* pRuntime, return false; } CFX_WideString wsFilePath = m_pFormFillEnv->JS_docGetFilePath(); - int32_t i = wsFilePath.GetLength() - 1; + FX_STRSIZE i = wsFilePath.GetLength() - 1; for (; i >= 0; i--) { if (wsFilePath[i] == L'\\' || wsFilePath[i] == L'/') break; diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp index ff1d4fb7b7..ee5bbbacb8 100644 --- a/fpdfsdk/javascript/PublicMethods.cpp +++ b/fpdfsdk/javascript/PublicMethods.cpp @@ -366,7 +366,7 @@ double CJS_PublicMethods::MakeRegularDate(const CFX_WideString& value, bool bExit = false; bool bBadFormat = false; - int i = 0; + FX_STRSIZE i = 0; int j = 0; while (i < format.GetLength()) { @@ -394,7 +394,7 @@ double CJS_PublicMethods::MakeRegularDate(const CFX_WideString& value, case 't': { int oldj = j; int nSkip = 0; - int remaining = format.GetLength() - i - 1; + FX_STRSIZE remaining = format.GetLength() - i - 1; if (remaining == 0 || format[i + 1] != c) { switch (c) { @@ -628,10 +628,10 @@ CFX_WideString CJS_PublicMethods::MakeFormatDate(double dDate, int nMin = JS_GetMinFromTime(dDate); int nSec = JS_GetSecFromTime(dDate); - int i = 0; + FX_STRSIZE i = 0; while (i < format.GetLength()) { wchar_t c = format[i]; - int remaining = format.GetLength() - i - 1; + FX_STRSIZE remaining = format.GetLength() - i - 1; sPart = L""; switch (c) { case 'y': |