summaryrefslogtreecommitdiff
path: root/core/fpdfapi/edit/cpdf_creator.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-06-20 16:10:13 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-06-20 16:10:13 +0000
commitb6b01cb2cbaf6b38736f4dfebb9b6cdc243960f9 (patch)
tree3219404f5dbafe19205ce85d19acaf3b1178f977 /core/fpdfapi/edit/cpdf_creator.cpp
parentb3345feca2741cef2073d18da414237589528dd0 (diff)
downloadpdfium-b6b01cb2cbaf6b38736f4dfebb9b6cdc243960f9.tar.xz
Re-work some more c_str() usage.
Many of these are converting ByteString => c_str => ByteStringView, since the ByteStringView ctor is implicit. This is unfortunate, since that involves a strlen() which the ByteString already knows if we use AsStringView() instead. This changed one test result where we can now return the string "\0" instead of "" -- since strlen no longer eats the NUL. This seems consistent, say, with String.fromCharCode(). Change-Id: I17f68d1a1f4b352960208f9148e68ab4c4d78bd2 Reviewed-on: https://pdfium-review.googlesource.com/35590 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/edit/cpdf_creator.cpp')
-rw-r--r--core/fpdfapi/edit/cpdf_creator.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp
index ff8d4bb82f..f8beccbad3 100644
--- a/core/fpdfapi/edit/cpdf_creator.cpp
+++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -214,10 +214,7 @@ bool CPDF_Creator::WriteDirectObj(uint32_t objnum,
return false;
break;
}
- CPDF_Encryptor encryptor(
- GetCryptoHandler(), objnum,
- pdfium::make_span(reinterpret_cast<const uint8_t*>(str.c_str()),
- str.GetLength()));
+ CPDF_Encryptor encryptor(GetCryptoHandler(), objnum, str.AsRawSpan());
ByteString content = PDF_EncodeString(
ByteString(encryptor.GetSpan().data(), encryptor.GetSpan().size()),
bHex);
@@ -506,12 +503,12 @@ int32_t CPDF_Creator::WriteDoc_Stage3() {
else
str = ByteString::Format("%d %d\r\n", i, j - i);
- if (!m_Archive->WriteBlock(str.c_str(), str.GetLength()))
+ if (!m_Archive->WriteString(str.AsStringView()))
return -1;
while (i < j) {
str = ByteString::Format("%010d 00000 n\r\n", m_ObjectOffsets[i++]);
- if (!m_Archive->WriteBlock(str.c_str(), str.GetLength()))
+ if (!m_Archive->WriteString(str.AsStringView()))
return -1;
}
if (i > dwLastObjNum)
@@ -540,13 +537,13 @@ int32_t CPDF_Creator::WriteDoc_Stage3() {
else
str = ByteString::Format("%d %d\r\n", objnum, j - i);
- if (!m_Archive->WriteBlock(str.c_str(), str.GetLength()))
+ if (!m_Archive->WriteString(str.AsStringView()))
return -1;
while (i < j) {
objnum = m_NewObjNumArray[i++];
str = ByteString::Format("%010d 00000 n\r\n", m_ObjectOffsets[objnum]);
- if (!m_Archive->WriteBlock(str.c_str(), str.GetLength()))
+ if (!m_Archive->WriteString(str.AsStringView()))
return -1;
}
}