From 6bbea4baa0c06b39b1b71f1aa6fc276789296556 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 21 Jul 2012 09:00:06 -0400 Subject: Implement QPDFObjectHandle::parse Move object parsing code from QPDF to QPDFObjectHandle and parameterize the parts of it that are specific to a QPDF object. Provide a version that can't handle indirect objects and that can be called on an arbitrary string. A side effect of this change is that the offset used when reporting invalid stream length has changed, but since the new value seems like a better value than the old one, the test suite has been updated rather than making the code backward compatible. This only effects the offset reported for invalid streams that lack /Length or have an invalid /Length key. Updated some test code and exmaples to use QPDFObjectHandle::parse. Supporting changes include adding a BufferInputSource constructor that takes a string. --- TODO | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'TODO') diff --git a/TODO b/TODO index cf752daf..42d5e7a6 100644 --- a/TODO +++ b/TODO @@ -20,16 +20,14 @@ Next * Make sure that the release notes call attention to the one API breaking change: removal of length from replaceStreamData. - * Add a way to create new QPDFObjectHandles with a string - representation of them, such as - QPDFObjectHandle::parse("<< /a 1 /b 2 >>"); - * Document thread safety: One individual QPDF or QPDFWriter object can only be used by one thread at a time, but multiple threads can simultaneously use separate objects. * Write some documentation about the design of copyForeignObject. + * Mention QPDFObjectHandle::parse in the documentation. + * copyForeignObject still to do: - qpdf command -- cgit v1.2.3-54-g00ecf