diff options
Diffstat (limited to 'core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp index fec4e4f8e1..16124a3c38 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp @@ -61,12 +61,16 @@ int32_t PDF_CreatorAppendObject(const CPDF_Object* pObj, break; } case PDFOBJ_REFERENCE: { - if (pFile->AppendString(FX_BSTRC(" ")) < 0) + if (pFile->AppendString(FX_BSTRC(" ")) < 0) { return -1; - if ((len = pFile->AppendDWord(pObj->AsReference()->GetRefObjNum())) < 0) + } + CPDF_Reference* p = (CPDF_Reference*)pObj; + if ((len = pFile->AppendDWord(p->GetRefObjNum())) < 0) { return -1; - if (pFile->AppendString(FX_BSTRC(" 0 R ")) < 0) + } + if (pFile->AppendString(FX_BSTRC(" 0 R ")) < 0) { return -1; + } offset += len + 6; break; } @@ -1164,12 +1168,16 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum, break; } case PDFOBJ_REFERENCE: { - if (m_File.AppendString(FX_BSTRC(" ")) < 0) + if (m_File.AppendString(FX_BSTRC(" ")) < 0) { return -1; - if ((len = m_File.AppendDWord(pObj->AsReference()->GetRefObjNum())) < 0) + } + CPDF_Reference* p = (CPDF_Reference*)pObj; + if ((len = m_File.AppendDWord(p->GetRefObjNum())) < 0) { return -1; - if (m_File.AppendString(FX_BSTRC(" 0 R")) < 0) + } + if (m_File.AppendString(FX_BSTRC(" 0 R")) < 0) { return -1; + } m_Offset += len + 5; break; } |