summaryrefslogtreecommitdiff
path: root/core/fpdfapi/edit/cpdf_creator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/edit/cpdf_creator.cpp')
-rw-r--r--core/fpdfapi/edit/cpdf_creator.cpp35
1 files changed, 20 insertions, 15 deletions
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp
index 71237f7915..8a9eb5493e 100644
--- a/core/fpdfapi/edit/cpdf_creator.cpp
+++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -164,13 +164,13 @@ bool CPDF_Creator::WriteStream(const CPDF_Object* pStream,
uint32_t objnum,
CPDF_CryptoHandler* pCrypto) {
CPDF_FlateEncoder encoder(pStream->AsStream(), pStream != m_pMetadata);
- CPDF_Encryptor encryptor(pCrypto, objnum, encoder.GetData(),
- encoder.GetSize());
+ CPDF_Encryptor encryptor(
+ pCrypto, objnum, pdfium::make_span(encoder.GetData(), encoder.GetSize()));
if (static_cast<uint32_t>(encoder.GetDict()->GetIntegerFor("Length")) !=
- encryptor.GetSize()) {
+ encryptor.GetSpan().size()) {
encoder.CloneDict();
encoder.GetClonedDict()->SetNewFor<CPDF_Number>(
- "Length", static_cast<int>(encryptor.GetSize()));
+ "Length", static_cast<int>(encryptor.GetSpan().size()));
}
if (!WriteDirectObj(objnum, encoder.GetDict(), true) ||
@@ -179,8 +179,9 @@ bool CPDF_Creator::WriteStream(const CPDF_Object* pStream,
}
// Allow for empty streams.
- if (encryptor.GetSize() > 0 &&
- !m_Archive->WriteBlock(encryptor.GetData(), encryptor.GetSize())) {
+ if (encryptor.GetSpan().size() > 0 &&
+ !m_Archive->WriteBlock(encryptor.GetSpan().data(),
+ encryptor.GetSpan().size())) {
return false;
}
@@ -224,28 +225,32 @@ bool CPDF_Creator::WriteDirectObj(uint32_t objnum,
return false;
break;
}
- CPDF_Encryptor encryptor(GetCryptoHandler(), objnum,
- reinterpret_cast<const uint8_t*>(str.c_str()),
- str.GetLength());
+ CPDF_Encryptor encryptor(
+ GetCryptoHandler(), objnum,
+ pdfium::make_span(reinterpret_cast<const uint8_t*>(str.c_str()),
+ str.GetLength()));
ByteString content = PDF_EncodeString(
- ByteString(encryptor.GetData(), encryptor.GetSize()), bHex);
+ ByteString(encryptor.GetSpan().data(), encryptor.GetSpan().size()),
+ bHex);
if (!m_Archive->WriteString(content.AsStringView()))
return false;
break;
}
case CPDF_Object::STREAM: {
CPDF_FlateEncoder encoder(pObj->AsStream(), true);
- CPDF_Encryptor encryptor(GetCryptoHandler(), objnum, encoder.GetData(),
- encoder.GetSize());
+ CPDF_Encryptor encryptor(
+ GetCryptoHandler(), objnum,
+ pdfium::make_span(encoder.GetData(), encoder.GetSize()));
if (static_cast<uint32_t>(encoder.GetDict()->GetIntegerFor("Length")) !=
- encryptor.GetSize()) {
+ encryptor.GetSpan().size()) {
encoder.CloneDict();
encoder.GetClonedDict()->SetNewFor<CPDF_Number>(
- "Length", static_cast<int>(encryptor.GetSize()));
+ "Length", static_cast<int>(encryptor.GetSpan().size()));
}
if (!WriteDirectObj(objnum, encoder.GetDict(), true) ||
!m_Archive->WriteString("stream\r\n") ||
- !m_Archive->WriteBlock(encryptor.GetData(), encryptor.GetSize()) ||
+ !m_Archive->WriteBlock(encryptor.GetSpan().data(),
+ encryptor.GetSpan().size()) ||
!m_Archive->WriteString("\r\nendstream")) {
return false;
}