diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-10-20 13:19:19 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-10-20 13:19:19 -0400 |
commit | 4816432671eef6467354aa252f22bb80acc315b7 (patch) | |
tree | 403313130206e70abf8ceae78353042a38221bec /core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp | |
parent | 8b8dfd7934d669b2c74a0502f82387e5df0f573b (diff) | |
download | pdfium-4816432671eef6467354aa252f22bb80acc315b7.tar.xz |
Add type cast definitions for CPDF_Dictionary.
This CL adds ToCPDFDictionary type definitions and updates one file to use
instead of straight casts. I had to fix two places where we'd casted off the
constness of the original pointer.
BUG=pdfium:201
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1399233003 .
Diffstat (limited to 'core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp index 2d6e9f3436..55c62e2878 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp @@ -283,7 +283,7 @@ ICodec_ScanlineDecoder* FPDFAPI_CreateFlateDecoder( int predictor = 0; int Colors = 0, BitsPerComponent = 0, Columns = 0; if (pParams) { - predictor = ((CPDF_Dictionary*)pParams)->GetInteger(FX_BSTRC("Predictor")); + predictor = pParams->GetInteger(FX_BSTRC("Predictor")); Colors = pParams->GetInteger(FX_BSTRC("Colors"), 1); BitsPerComponent = pParams->GetInteger(FX_BSTRC("BitsPerComponent"), 8); Columns = pParams->GetInteger(FX_BSTRC("Columns"), 1); @@ -306,9 +306,8 @@ FX_DWORD FPDFAPI_FlateOrLZWDecode(FX_BOOL bLZW, FX_BOOL bEarlyChange = TRUE; int Colors = 0, BitsPerComponent = 0, Columns = 0; if (pParams) { - predictor = ((CPDF_Dictionary*)pParams)->GetInteger(FX_BSTRC("Predictor")); - bEarlyChange = - ((CPDF_Dictionary*)pParams)->GetInteger(FX_BSTRC("EarlyChange"), 1); + predictor = pParams->GetInteger(FX_BSTRC("Predictor")); + bEarlyChange = pParams->GetInteger(FX_BSTRC("EarlyChange"), 1); Colors = pParams->GetInteger(FX_BSTRC("Colors"), 1); BitsPerComponent = pParams->GetInteger(FX_BSTRC("BitsPerComponent"), 8); Columns = pParams->GetInteger(FX_BSTRC("Columns"), 1); @@ -365,7 +364,9 @@ FX_BOOL PDF_DataDecode(const uint8_t* src_buf, int estimated_size = i == DecoderList.GetSize() - 1 ? last_estimated_size : 0; CFX_ByteString decoder = DecoderList[i]; - CPDF_Dictionary* pParam = (CPDF_Dictionary*)ParamList[i]; + // Use ToDictionary here because we can push NULL into the ParamList. + CPDF_Dictionary* pParam = + ToDictionary(static_cast<CPDF_Object*>(ParamList[i])); uint8_t* new_buf = NULL; FX_DWORD new_size = (FX_DWORD)-1; int offset = -1; |