diff options
author | Henrique Nakashima <hnakashima@chromium.org> | 2017-08-04 12:28:52 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-04 16:48:53 +0000 |
commit | 5c09f4ca825652f910d3ff406fcbf64d25f56e23 (patch) | |
tree | 9af51506fcc914244bc682878801b8d362f6cfdd /core | |
parent | a2da7c5612f1fa26dde508da2a527a4bab381de0 (diff) | |
download | pdfium-5c09f4ca825652f910d3ff406fcbf64d25f56e23.tar.xz |
Remove CFX_ByteTextBuf from cpdfsdk_interform.cpp and others.chromium/3177
New version of the CL that include fpdf_parser_utility.cpp where
there is an overload for CFX_ByteTextBuf << CPDF_Object* used by
CFDF_Document.
Bug: pdfium:731
Change-Id: I54f4e9ee7e10e94388f6f6584f3999f43689e84c
Reviewed-on: https://pdfium-review.googlesource.com/10170
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'core')
-rw-r--r-- | core/fpdfapi/parser/cfdf_document.cpp | 9 | ||||
-rw-r--r-- | core/fpdfapi/parser/cfdf_document.h | 2 | ||||
-rw-r--r-- | core/fpdfapi/parser/fpdf_parser_utility.cpp | 5 | ||||
-rw-r--r-- | core/fpdfapi/parser/fpdf_parser_utility.h | 2 |
4 files changed, 11 insertions, 7 deletions
diff --git a/core/fpdfapi/parser/cfdf_document.cpp b/core/fpdfapi/parser/cfdf_document.cpp index 85e2f6ef04..b00806967b 100644 --- a/core/fpdfapi/parser/cfdf_document.cpp +++ b/core/fpdfapi/parser/cfdf_document.cpp @@ -7,6 +7,7 @@ #include "core/fpdfapi/parser/cfdf_document.h" #include <memory> +#include <sstream> #include <utility> #include "core/fpdfapi/edit/cpdf_creator.h" @@ -88,10 +89,11 @@ void CFDF_Document::ParseStream( } } -bool CFDF_Document::WriteBuf(CFX_ByteTextBuf& buf) const { +CFX_ByteString CFDF_Document::WriteToString() const { if (!m_pRootDict) - return false; + return CFX_ByteString(); + std::ostringstream buf; buf << "%FDF-1.2\r\n"; for (const auto& pair : *this) buf << pair.first << " 0 obj\r\n" @@ -99,5 +101,6 @@ bool CFDF_Document::WriteBuf(CFX_ByteTextBuf& buf) const { buf << "trailer\r\n<</Root " << m_pRootDict->GetObjNum() << " 0 R>>\r\n%%EOF\r\n"; - return true; + + return CFX_ByteString(buf); } diff --git a/core/fpdfapi/parser/cfdf_document.h b/core/fpdfapi/parser/cfdf_document.h index 9a13877544..45bf83d426 100644 --- a/core/fpdfapi/parser/cfdf_document.h +++ b/core/fpdfapi/parser/cfdf_document.h @@ -27,7 +27,7 @@ class CFDF_Document : public CPDF_IndirectObjectHolder { CFDF_Document(); ~CFDF_Document() override; - bool WriteBuf(CFX_ByteTextBuf& buf) const; + CFX_ByteString WriteToString() const; CPDF_Dictionary* GetRoot() const { return m_pRootDict.Get(); } protected: diff --git a/core/fpdfapi/parser/fpdf_parser_utility.cpp b/core/fpdfapi/parser/fpdf_parser_utility.cpp index 0c0ca6644f..7cea16569f 100644 --- a/core/fpdfapi/parser/fpdf_parser_utility.cpp +++ b/core/fpdfapi/parser/fpdf_parser_utility.cpp @@ -151,7 +151,7 @@ CFX_ByteString PDF_NameEncode(const CFX_ByteString& orig) { return res; } -CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj) { +std::ostream& operator<<(std::ostream& buf, const CPDF_Object* pObj) { if (!pObj) { buf << " null"; return buf; @@ -211,7 +211,8 @@ CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj) { buf << p->GetDict() << "stream\r\n"; auto pAcc = pdfium::MakeRetain<CPDF_StreamAcc>(p); pAcc->LoadAllData(true); - buf.AppendBlock(pAcc->GetData(), pAcc->GetSize()); + buf.write(reinterpret_cast<const char*>(pAcc->GetData()), + pAcc->GetSize()); buf << "\r\nendstream"; break; } diff --git a/core/fpdfapi/parser/fpdf_parser_utility.h b/core/fpdfapi/parser/fpdf_parser_utility.h index 5e764ad07b..47431e47dd 100644 --- a/core/fpdfapi/parser/fpdf_parser_utility.h +++ b/core/fpdfapi/parser/fpdf_parser_utility.h @@ -43,6 +43,6 @@ int32_t GetHeaderOffset(const CFX_RetainPtr<IFX_SeekableReadStream>& pFile); int32_t GetDirectInteger(CPDF_Dictionary* pDict, const CFX_ByteString& key); -CFX_ByteTextBuf& operator<<(CFX_ByteTextBuf& buf, const CPDF_Object* pObj); +std::ostream& operator<<(std::ostream& buf, const CPDF_Object* pObj); #endif // CORE_FPDFAPI_PARSER_FPDF_PARSER_UTILITY_H_ |