| Index: core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
|
| diff --git a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
|
| index 7c489a35dc625ad28272b31135db9bfa21ec6c7c..40ba362ad66b264259ab3c6d8499a11f8a701686 100644
|
| --- a/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
|
| +++ b/core/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
|
| @@ -532,45 +532,40 @@ CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex) {
|
| result.AppendChar('(');
|
| for (int i = 0; i < srclen; i++) {
|
| uint8_t ch = src[i];
|
| - if (ch == ')' || ch == '\\' || ch == '(') {
|
| - result.AppendChar('\\');
|
| - } else if (ch == 0x0a) {
|
| + if (ch == 0x0a) {
|
| result << "\\n";
|
| continue;
|
| - } else if (ch == 0x0d) {
|
| + }
|
| + if (ch == 0x0d) {
|
| result << "\\r";
|
| continue;
|
| }
|
| + if (ch == ')' || ch == '\\' || ch == '(')
|
| + result.AppendChar('\\');
|
| result.AppendChar(ch);
|
| }
|
| result.AppendChar(')');
|
| return result.MakeString();
|
| }
|
|
|
| -void FlateEncode(const uint8_t* src_buf,
|
| +bool FlateEncode(const uint8_t* src_buf,
|
| uint32_t src_size,
|
| - uint8_t*& dest_buf,
|
| - uint32_t& dest_size) {
|
| + uint8_t** dest_buf,
|
| + uint32_t* dest_size) {
|
| CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule();
|
| - if (pEncoders) {
|
| - pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf, dest_size);
|
| - }
|
| + return pEncoders &&
|
| + pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf,
|
| + dest_size);
|
| }
|
|
|
| -void FlateEncode(const uint8_t* src_buf,
|
| - uint32_t src_size,
|
| - int predictor,
|
| - int Colors,
|
| - int BitsPerComponent,
|
| - int Columns,
|
| - uint8_t*& dest_buf,
|
| - uint32_t& dest_size) {
|
| +bool PngEncode(const uint8_t* src_buf,
|
| + uint32_t src_size,
|
| + uint8_t** dest_buf,
|
| + uint32_t* dest_size) {
|
| CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule();
|
| - if (pEncoders) {
|
| - pEncoders->GetFlateModule()->Encode(src_buf, src_size, predictor, Colors,
|
| - BitsPerComponent, Columns, dest_buf,
|
| - dest_size);
|
| - }
|
| + return pEncoders &&
|
| + pEncoders->GetFlateModule()->PngEncode(src_buf, src_size, dest_buf,
|
| + dest_size);
|
| }
|
|
|
| uint32_t FlateDecode(const uint8_t* src_buf,
|
|
|