From c68b1e73ce8210e2b33491da160dda5dd48599c0 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Mon, 8 May 2017 16:59:54 -0400 Subject: Remove AppendObject from CPDF_Creator The AppendObject method has been removed and the functionality moved to the individual CPDF_Object classes. Change-Id: I5446c6cc3e792d849acf77caed34b63a88f3a2d2 Reviewed-on: https://pdfium-review.googlesource.com/5072 Commit-Queue: dsinclair Reviewed-by: Tom Sepez --- core/fpdfapi/parser/cpdf_stream.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'core/fpdfapi/parser/cpdf_stream.cpp') diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp index e4f279a32d..7e2529e1d7 100644 --- a/core/fpdfapi/parser/cpdf_stream.cpp +++ b/core/fpdfapi/parser/cpdf_stream.cpp @@ -131,3 +131,25 @@ CFX_WideString CPDF_Stream::GetUnicodeText() const { pAcc->LoadAllData(false); return PDF_DecodeText(pAcc->GetData(), pAcc->GetSize()); } + +bool CPDF_Stream::WriteTo(CFX_FileBufferArchive* archive, + FX_FILESIZE* offset) const { + if (!GetDict()->WriteTo(archive, offset)) + return false; + if (archive->AppendString("stream\r\n") < 0) + return false; + *offset += 8; + + auto pAcc = pdfium::MakeRetain(this); + pAcc->LoadAllData(true); + if (archive->AppendBlock(pAcc->GetData(), pAcc->GetSize()) < 0) + return false; + *offset += pAcc->GetSize(); + + int32_t len = archive->AppendString("\r\nendstream"); + if (len < 0) + return false; + + *offset += len; + return true; +} -- cgit v1.2.3