From 8a217eb3a26931453b4f003c6c18ad8569230cf1 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sun, 8 Jul 2012 14:19:19 -0400 Subject: Add concept of reserved objects QPDFObjectHandle::{new,is,assert}Reserved, QPDF::replaceReserved provide a mechanism to add objects to a PDF file when there are circular references. This is a prerequisite to copying objects from one PDF to another. --- libqpdf/QPDF.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libqpdf/QPDF.cc') diff --git a/libqpdf/QPDF.cc b/libqpdf/QPDF.cc index a66b4f15..1c4e5d8d 100644 --- a/libqpdf/QPDF.cc +++ b/libqpdf/QPDF.cc @@ -2056,6 +2056,18 @@ QPDF::replaceObject(int objid, int generation, QPDFObjectHandle oh) ObjCache(QPDFObjectHandle::ObjAccessor::getObject(oh), -1, -1); } +void +QPDF::replaceReserved(QPDFObjectHandle reserved, + QPDFObjectHandle replacement) +{ + QTC::TC("qpdf", "QPDF replaceReserved"); + reserved.assertReserved(); + replaceObject(reserved.getObjectID(), + reserved.getGeneration(), + replacement); +} + + void QPDF::swapObjects(int objid1, int generation1, int objid2, int generation2) { -- cgit v1.2.3-54-g00ecf