summaryrefslogtreecommitdiff
path: root/core/fpdfapi
diff options
context:
space:
mode:
authorRyan Harrison <rharrison@chromium.org>2017-08-29 16:39:44 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-30 14:35:33 +0000
commitaa3a9cd82df9dff1ef136797259e606a39c18b75 (patch)
tree5ca71f96fa289c5f13d22b371341882b77c7331f /core/fpdfapi
parent980a3ea30872cef9ada360aa85e7c3573d7668b5 (diff)
downloadpdfium-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 'core/fpdfapi')
-rw-r--r--core/fpdfapi/font/cpdf_cmap.cpp4
-rw-r--r--core/fpdfapi/font/cpdf_cmap.h2
-rw-r--r--core/fpdfapi/font/cpdf_cmapparser.cpp17
-rw-r--r--core/fpdfapi/page/cpdf_image.cpp2
-rw-r--r--core/fpdfapi/page/cpdf_streamparser.cpp10
5 files changed, 16 insertions, 19 deletions
diff --git a/core/fpdfapi/font/cpdf_cmap.cpp b/core/fpdfapi/font/cpdf_cmap.cpp
index 55f5ccc5c5..7b88346d64 100644
--- a/core/fpdfapi/font/cpdf_cmap.cpp
+++ b/core/fpdfapi/font/cpdf_cmap.cpp
@@ -182,7 +182,7 @@ const PredefinedCMap g_PredefinedCMaps[] = {
};
int CheckFourByteCodeRange(uint8_t* codes,
- int size,
+ FX_STRSIZE size,
const std::vector<CPDF_CMap::CodeRange>& ranges) {
int iSeg = pdfium::CollectionSize<int>(ranges) - 1;
while (iSeg >= 0) {
@@ -216,7 +216,7 @@ int GetFourByteCharSizeImpl(uint32_t charcode,
codes[0] = codes[1] = 0x00;
codes[2] = (uint8_t)(charcode >> 8 & 0xFF);
codes[3] = (uint8_t)charcode;
- int offset = 0;
+ FX_STRSIZE offset = 0;
int size = 4;
for (int i = 0; i < 4; ++i) {
int iSeg = pdfium::CollectionSize<int>(ranges) - 1;
diff --git a/core/fpdfapi/font/cpdf_cmap.h b/core/fpdfapi/font/cpdf_cmap.h
index ab495efbfc..b47b12d531 100644
--- a/core/fpdfapi/font/cpdf_cmap.h
+++ b/core/fpdfapi/font/cpdf_cmap.h
@@ -37,7 +37,7 @@ class CPDF_CMap : public CFX_Retainable {
};
struct CodeRange {
- int m_CharSize;
+ FX_STRSIZE m_CharSize;
uint8_t m_Lower[4];
uint8_t m_Upper[4];
};
diff --git a/core/fpdfapi/font/cpdf_cmapparser.cpp b/core/fpdfapi/font/cpdf_cmapparser.cpp
index 272f8deb34..101ae5f0c8 100644
--- a/core/fpdfapi/font/cpdf_cmapparser.cpp
+++ b/core/fpdfapi/font/cpdf_cmapparser.cpp
@@ -141,7 +141,8 @@ uint32_t CPDF_CMapParser::CMap_GetCode(const CFX_ByteStringC& word) {
return 0;
pdfium::base::CheckedNumeric<uint32_t> num = 0;
if (word[0] == '<') {
- for (int i = 1; i < word.GetLength() && std::isxdigit(word[i]); ++i) {
+ for (FX_STRSIZE i = 1; i < word.GetLength() && std::isxdigit(word[i]);
+ ++i) {
num = num * 16 + FXSYS_HexCharToInt(word[i]);
if (!num.IsValid())
return 0;
@@ -149,7 +150,7 @@ uint32_t CPDF_CMapParser::CMap_GetCode(const CFX_ByteStringC& word) {
return num.ValueOrDie();
}
- for (int i = 0; i < word.GetLength() && std::isdigit(word[i]); ++i) {
+ for (FX_STRSIZE i = 0; i < word.GetLength() && std::isdigit(word[i]); ++i) {
num = num * 10 + FXSYS_DecimalCharToInt(static_cast<wchar_t>(word[i]));
if (!num.IsValid())
return 0;
@@ -164,7 +165,7 @@ bool CPDF_CMapParser::CMap_GetCodeRange(CPDF_CMap::CodeRange& range,
if (first.GetLength() == 0 || first[0] != '<')
return false;
- int i;
+ FX_STRSIZE i;
for (i = 1; i < first.GetLength(); ++i) {
if (first[i] == '>') {
break;
@@ -181,14 +182,10 @@ bool CPDF_CMapParser::CMap_GetCodeRange(CPDF_CMap::CodeRange& range,
FXSYS_HexCharToInt(digit1) * 16 + FXSYS_HexCharToInt(digit2);
}
- uint32_t size = second.GetLength();
+ FX_STRSIZE size = second.GetLength();
for (i = 0; i < range.m_CharSize; ++i) {
- uint8_t digit1 = ((uint32_t)i * 2 + 1 < size)
- ? second[static_cast<FX_STRSIZE>(i * 2 + 1)]
- : '0';
- uint8_t digit2 = ((uint32_t)i * 2 + 2 < size)
- ? second[static_cast<FX_STRSIZE>(i * 2 + 2)]
- : '0';
+ uint8_t digit1 = (i * 2 + 1 < size) ? second[i * 2 + 1] : '0';
+ uint8_t digit2 = (i * 2 + 2 < size) ? second[i * 2 + 2] : '0';
range.m_Upper[i] =
FXSYS_HexCharToInt(digit1) * 16 + FXSYS_HexCharToInt(digit2);
}
diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp
index efdd66b442..2c3f13e9c2 100644
--- a/core/fpdfapi/page/cpdf_image.cpp
+++ b/core/fpdfapi/page/cpdf_image.cpp
@@ -257,7 +257,7 @@ void CPDF_Image::SetImage(const CFX_RetainPtr<CFX_DIBitmap>& pBitmap) {
int32_t maskWidth = pMaskBitmap->GetWidth();
int32_t maskHeight = pMaskBitmap->GetHeight();
std::unique_ptr<uint8_t, FxFreeDeleter> mask_buf;
- FX_STRSIZE mask_size = 0;
+ int32_t mask_size = 0;
auto pMaskDict =
pdfium::MakeUnique<CPDF_Dictionary>(m_pDocument->GetByteStringPool());
pMaskDict->SetNewFor<CPDF_Name>("Type", "XObject");
diff --git a/core/fpdfapi/page/cpdf_streamparser.cpp b/core/fpdfapi/page/cpdf_streamparser.cpp
index 9d7dd1ed55..f745331818 100644
--- a/core/fpdfapi/page/cpdf_streamparser.cpp
+++ b/core/fpdfapi/page/cpdf_streamparser.cpp
@@ -478,9 +478,9 @@ CFX_ByteString CPDF_StreamParser::ReadString() {
case 0:
if (ch == ')') {
if (parlevel == 0) {
- return CFX_ByteString(
- buf.str().c_str(),
- std::min(static_cast<int>(buf.tellp()), kMaxStringLength));
+ return CFX_ByteString(buf.str().c_str(),
+ std::min(static_cast<FX_STRSIZE>(buf.tellp()),
+ kMaxStringLength));
}
parlevel--;
buf << ')';
@@ -557,7 +557,7 @@ CFX_ByteString CPDF_StreamParser::ReadString() {
return CFX_ByteString(
buf.str().c_str(),
- std::min(static_cast<int>(buf.tellp()), kMaxStringLength));
+ std::min(static_cast<FX_STRSIZE>(buf.tellp()), kMaxStringLength));
}
CFX_ByteString CPDF_StreamParser::ReadHexString() {
@@ -590,7 +590,7 @@ CFX_ByteString CPDF_StreamParser::ReadHexString() {
return CFX_ByteString(
buf.str().c_str(),
- std::min(static_cast<int>(buf.tellp()), kMaxStringLength));
+ std::min(static_cast<FX_STRSIZE>(buf.tellp()), kMaxStringLength));
}
bool CPDF_StreamParser::PositionIsInBounds() const {