summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_edit
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-04-04 16:41:35 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-04 16:41:35 -0700
commit28f97ff783c16f3391384ce97b765ce4eb310ac7 (patch)
tree69c4c8bc9dd39d5336c96f28b633d197dd207c81 /core/fpdfapi/fpdf_edit
parented9c4386713084f37548b46ab36f618021f716f5 (diff)
downloadpdfium-28f97ff783c16f3391384ce97b765ce4eb310ac7.tar.xz
Make down-conversion explicit from CFX_ByteString to CFX_ByteStringC.
Having this happen implicitly can be dangerous because the lifetime has to be considered; we should have caught the "red bots" in https://codereview.chromium.org/1847333004/#ps60001 at compile time. Review URL: https://codereview.chromium.org/1853233002
Diffstat (limited to 'core/fpdfapi/fpdf_edit')
-rw-r--r--core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp5
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp30
-rw-r--r--core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp2
3 files changed, 22 insertions, 15 deletions
diff --git a/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp b/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp
index 6c5339128b..af79fd31c1 100644
--- a/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp
+++ b/core/fpdfapi/fpdf_edit/cpdf_pagecontentgenerator.cpp
@@ -74,12 +74,13 @@ CFX_ByteString CPDF_PageContentGenerator::RealizeResource(
int idnum = 1;
while (1) {
name.Format("FX%c%d", szType[0], idnum);
- if (!pResList->KeyExist(name)) {
+ if (!pResList->KeyExist(name.AsByteStringC())) {
break;
}
idnum++;
}
- pResList->AddReference(name, m_pDocument, pResourceObj->GetObjNum());
+ pResList->AddReference(name.AsByteStringC(), m_pDocument,
+ pResourceObj->GetObjNum());
return name;
}
void CPDF_PageContentGenerator::ProcessImage(CFX_ByteTextBuf& buf,
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
index 21934d35c4..323602b0e1 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_create.cpp
@@ -54,7 +54,7 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj,
if (pFile->AppendString(" ") < 0) {
return -1;
}
- if ((len = pFile->AppendString(pObj->GetString())) < 0) {
+ if ((len = pFile->AppendString(pObj->GetString().AsByteStringC())) < 0) {
return -1;
}
offset += len + 1;
@@ -62,7 +62,8 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj,
case CPDF_Object::STRING: {
CFX_ByteString str = pObj->GetString();
FX_BOOL bHex = pObj->AsString()->IsHex();
- if ((len = pFile->AppendString(PDF_EncodeString(str, bHex))) < 0) {
+ if ((len = pFile->AppendString(
+ PDF_EncodeString(str, bHex).AsByteStringC())) < 0) {
return -1;
}
offset += len;
@@ -73,7 +74,8 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj,
return -1;
}
CFX_ByteString str = pObj->GetString();
- if ((len = pFile->AppendString(PDF_NameEncode(str))) < 0) {
+ if ((len = pFile->AppendString(PDF_NameEncode(str).AsByteStringC())) <
+ 0) {
return -1;
}
offset += len + 1;
@@ -132,7 +134,8 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj,
if (pFile->AppendString("/") < 0) {
return -1;
}
- if ((len = pFile->AppendString(PDF_NameEncode(key))) < 0) {
+ if ((len = pFile->AppendString(PDF_NameEncode(key).AsByteStringC())) <
+ 0) {
return -1;
}
offset += len + 1;
@@ -211,7 +214,8 @@ int32_t PDF_CreatorWriteTrailer(CPDF_Document* pDocument,
if (pFile->AppendString(("/")) < 0) {
return -1;
}
- if ((len = pFile->AppendString(PDF_NameEncode(key))) < 0) {
+ if ((len = pFile->AppendString(PDF_NameEncode(key).AsByteStringC())) <
+ 0) {
return -1;
}
offset += len + 1;
@@ -1114,7 +1118,7 @@ int32_t CPDF_Creator::WriteDirectObj(uint32_t objnum,
if (m_File.AppendString(" ") < 0) {
return -1;
}
- if ((len = m_File.AppendString(pObj->GetString())) < 0) {
+ if ((len = m_File.AppendString(pObj->GetString().AsByteStringC())) < 0) {
return -1;
}
m_Offset += len + 1;
@@ -1124,7 +1128,7 @@ int32_t CPDF_Creator::WriteDirectObj(uint32_t objnum,
FX_BOOL bHex = pObj->AsString()->IsHex();
if (!m_pCryptoHandler || !bEncrypt) {
CFX_ByteString content = PDF_EncodeString(str, bHex);
- if ((len = m_File.AppendString(content)) < 0) {
+ if ((len = m_File.AppendString(content.AsByteStringC())) < 0) {
return -1;
}
m_Offset += len;
@@ -1136,7 +1140,7 @@ int32_t CPDF_Creator::WriteDirectObj(uint32_t objnum,
CFX_ByteString content = PDF_EncodeString(
CFX_ByteString((const FX_CHAR*)encryptor.m_pData, encryptor.m_dwSize),
bHex);
- if ((len = m_File.AppendString(content)) < 0) {
+ if ((len = m_File.AppendString(content.AsByteStringC())) < 0) {
return -1;
}
m_Offset += len;
@@ -1176,7 +1180,8 @@ int32_t CPDF_Creator::WriteDirectObj(uint32_t objnum,
return -1;
}
CFX_ByteString str = pObj->GetString();
- if ((len = m_File.AppendString(PDF_NameEncode(str))) < 0) {
+ if ((len = m_File.AppendString(PDF_NameEncode(str).AsByteStringC())) <
+ 0) {
return -1;
}
m_Offset += len + 1;
@@ -1240,7 +1245,8 @@ int32_t CPDF_Creator::WriteDirectObj(uint32_t objnum,
if (m_File.AppendString("/") < 0) {
return -1;
}
- if ((len = m_File.AppendString(PDF_NameEncode(key))) < 0) {
+ if ((len = m_File.AppendString(PDF_NameEncode(key).AsByteStringC())) <
+ 0) {
return -1;
}
m_Offset += len + 1;
@@ -1642,7 +1648,7 @@ int32_t CPDF_Creator::WriteDoc_Stage3(IFX_Pause* pPause) {
str = m_ObjectOffset.GetPtrAt(1)
? "xref\r\n"
: "xref\r\n0 1\r\n0000000000 65535 f\r\n";
- if (m_File.AppendString(str) < 0) {
+ if (m_File.AppendString(str.AsByteStringC()) < 0) {
return -1;
}
m_Pos = (void*)(uintptr_t)1;
@@ -1771,7 +1777,7 @@ int32_t CPDF_Creator::WriteDoc_Stage4(IFX_Pause* pPause) {
if (m_File.AppendString(("/")) < 0) {
return -1;
}
- if (m_File.AppendString(PDF_NameEncode(key)) < 0) {
+ if (m_File.AppendString(PDF_NameEncode(key).AsByteStringC()) < 0) {
return -1;
}
if (pValue->GetObjNum()) {
diff --git a/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp b/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
index 0f75cb04a8..d70c04c690 100644
--- a/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
+++ b/core/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
@@ -1124,7 +1124,7 @@ CPDF_Font* CPDF_Document::AddStandardFont(const FX_CHAR* font,
CFX_ByteString name(font);
if (PDF_GetStandardFontName(&name) < 0)
return nullptr;
- return GetPageData()->GetStandardFont(name, pEncoding);
+ return GetPageData()->GetStandardFont(name.AsByteStringC(), pEncoding);
}
void CPDF_Document::DeletePage(int iPage) {