From 29f5830325f810612b8c683282133c47f5da0b33 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Mon, 4 Mar 2013 10:59:20 -0500 Subject: [PATCH] Fix getTypeCode and getTypeName work for indirect objects --- include/qpdf/QPDFObjectHandle.hh | 4 ++-- libqpdf/QPDFObjectHandle.cc | 10 ++++++---- qpdf/qtest/qpdf/bad10-recover.out | 2 +- qpdf/qtest/qpdf/bad11-recover.out | 2 +- qpdf/qtest/qpdf/bad12-recover.out | 2 +- qpdf/qtest/qpdf/bad12.out | 2 +- qpdf/qtest/qpdf/bad2-recover.out | 2 +- qpdf/qtest/qpdf/bad22-recover.out | 2 +- qpdf/qtest/qpdf/bad23-recover.out | 2 +- qpdf/qtest/qpdf/bad25-recover.out | 2 +- qpdf/qtest/qpdf/bad26-recover.out | 2 +- qpdf/qtest/qpdf/bad27-recover.out | 2 +- qpdf/qtest/qpdf/bad28-recover.out | 2 +- qpdf/qtest/qpdf/bad28.out | 2 +- qpdf/qtest/qpdf/bad3-recover.out | 2 +- qpdf/qtest/qpdf/bad30-recover.out | 2 +- qpdf/qtest/qpdf/bad30.out | 2 +- qpdf/qtest/qpdf/bad31-recover.out | 2 +- qpdf/qtest/qpdf/bad31.out | 2 +- qpdf/qtest/qpdf/bad32-recover.out | 2 +- qpdf/qtest/qpdf/bad33-recover.out | 2 +- qpdf/qtest/qpdf/bad34-recover.out | 2 +- qpdf/qtest/qpdf/bad4-recover.out | 2 +- qpdf/qtest/qpdf/bad5-recover.out | 2 +- qpdf/qtest/qpdf/bad6-recover.out | 2 +- qpdf/qtest/qpdf/bad6.out | 2 +- qpdf/qtest/qpdf/bad8-recover.out | 2 +- qpdf/qtest/qpdf/bad9-recover.out | 2 +- qpdf/qtest/qpdf/good1.out | 2 +- qpdf/qtest/qpdf/good10.out | 2 +- qpdf/qtest/qpdf/good11.out | 2 +- qpdf/qtest/qpdf/good12.out | 2 +- qpdf/qtest/qpdf/good13.out | 2 +- qpdf/qtest/qpdf/good15.out | 2 +- qpdf/qtest/qpdf/good16.out | 2 +- qpdf/qtest/qpdf/good17.out | 2 +- qpdf/qtest/qpdf/good18.out | 2 +- qpdf/qtest/qpdf/good19.out | 2 +- qpdf/qtest/qpdf/good2.out | 2 +- qpdf/qtest/qpdf/good20.out | 2 +- qpdf/qtest/qpdf/good3.out | 2 +- qpdf/qtest/qpdf/good4.out | 2 +- qpdf/qtest/qpdf/good5.out | 2 +- qpdf/qtest/qpdf/good6.out | 2 +- qpdf/qtest/qpdf/good7.out | 2 +- qpdf/qtest/qpdf/good8.out | 2 +- qpdf/qtest/qpdf/good9.out | 2 +- qpdf/test_driver.cc | 4 +++- 48 files changed, 56 insertions(+), 52 deletions(-) diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index c42fa71..60304ed 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -102,9 +102,9 @@ class QPDFObjectHandle // useful for doing rapid type tests (like switch statements) or // for testing and debugging. QPDF_DLL - QPDFObject::object_type_e getTypeCode() const; + QPDFObject::object_type_e getTypeCode(); QPDF_DLL - char const* getTypeName() const; + char const* getTypeName(); // Exactly one of these will return true for any object. Operator // and InlineImage are only allowed in content streams. diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 0c6b0a9..84db600 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -87,10 +87,11 @@ QPDFObjectHandle::isInitialized() const } QPDFObject::object_type_e -QPDFObjectHandle::getTypeCode() const +QPDFObjectHandle::getTypeCode() { - if (obj.getPointer()) + if (this->initialized) { + dereference(); return obj->getTypeCode(); } else @@ -100,10 +101,11 @@ QPDFObjectHandle::getTypeCode() const } char const* -QPDFObjectHandle::getTypeName() const +QPDFObjectHandle::getTypeName() { - if (obj.getPointer()) + if (this->initialized) { + dereference(); return obj->getTypeName(); } else diff --git a/qpdf/qtest/qpdf/bad10-recover.out b/qpdf/qtest/qpdf/bad10-recover.out index 25de9bc..32b1261 100644 --- a/qpdf/qtest/qpdf/bad10-recover.out +++ b/qpdf/qtest/qpdf/bad10-recover.out @@ -2,7 +2,7 @@ WARNING: bad10.pdf: file is damaged WARNING: bad10.pdf (trailer, file position 712): /Size key in trailer dictionary is not an integer WARNING: bad10.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad11-recover.out b/qpdf/qtest/qpdf/bad11-recover.out index 43bcd06..82e891b 100644 --- a/qpdf/qtest/qpdf/bad11-recover.out +++ b/qpdf/qtest/qpdf/bad11-recover.out @@ -2,7 +2,7 @@ WARNING: bad11.pdf: file is damaged WARNING: bad11.pdf (trailer, file position 905): /Prev key in trailer dictionary is not an integer WARNING: bad11.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad12-recover.out b/qpdf/qtest/qpdf/bad12-recover.out index 97dfb64..0c07a7f 100644 --- a/qpdf/qtest/qpdf/bad12-recover.out +++ b/qpdf/qtest/qpdf/bad12-recover.out @@ -1,6 +1,6 @@ WARNING: bad12.pdf: reported number of objects (9) inconsistent with actual number of objects (8) /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad12.out b/qpdf/qtest/qpdf/bad12.out index d07d74b..666e92f 100644 --- a/qpdf/qtest/qpdf/bad12.out +++ b/qpdf/qtest/qpdf/bad12.out @@ -1,6 +1,6 @@ WARNING: bad12.pdf: reported number of objects (9) inconsistent with actual number of objects (8) /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad2-recover.out b/qpdf/qtest/qpdf/bad2-recover.out index 569ca19..7b16b96 100644 --- a/qpdf/qtest/qpdf/bad2-recover.out +++ b/qpdf/qtest/qpdf/bad2-recover.out @@ -2,7 +2,7 @@ WARNING: bad2.pdf: file is damaged WARNING: bad2.pdf: can't find startxref WARNING: bad2.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad22-recover.out b/qpdf/qtest/qpdf/bad22-recover.out index 41eb3e3..4a44fad 100644 --- a/qpdf/qtest/qpdf/bad22-recover.out +++ b/qpdf/qtest/qpdf/bad22-recover.out @@ -1,5 +1,5 @@ WARNING: bad22.pdf (object 4 0, file position 341): attempting to recover stream length -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Qength 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad23-recover.out b/qpdf/qtest/qpdf/bad23-recover.out index 773205a..729e8d2 100644 --- a/qpdf/qtest/qpdf/bad23-recover.out +++ b/qpdf/qtest/qpdf/bad23-recover.out @@ -1,5 +1,5 @@ WARNING: bad23.pdf (object 4 0, file position 341): attempting to recover stream length -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length () >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad25-recover.out b/qpdf/qtest/qpdf/bad25-recover.out index 23893d5..6e40c85 100644 --- a/qpdf/qtest/qpdf/bad25-recover.out +++ b/qpdf/qtest/qpdf/bad25-recover.out @@ -3,7 +3,7 @@ WARNING: bad25.pdf (object 4 0, file position 307): expected n n obj WARNING: bad25.pdf: Attempting to reconstruct cross-reference table WARNING: bad25.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad26-recover.out b/qpdf/qtest/qpdf/bad26-recover.out index 248aff7..ef1c02e 100644 --- a/qpdf/qtest/qpdf/bad26-recover.out +++ b/qpdf/qtest/qpdf/bad26-recover.out @@ -3,7 +3,7 @@ WARNING: bad26.pdf (object 4 0, file position 307): expected n n obj WARNING: bad26.pdf: Attempting to reconstruct cross-reference table WARNING: bad26.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad27-recover.out b/qpdf/qtest/qpdf/bad27-recover.out index f06203b..b0967b3 100644 --- a/qpdf/qtest/qpdf/bad27-recover.out +++ b/qpdf/qtest/qpdf/bad27-recover.out @@ -3,7 +3,7 @@ WARNING: bad27.pdf (object 4 0, file position 307): expected n n obj WARNING: bad27.pdf: Attempting to reconstruct cross-reference table WARNING: bad27.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad28-recover.out b/qpdf/qtest/qpdf/bad28-recover.out index 62322d9..ab15251 100644 --- a/qpdf/qtest/qpdf/bad28-recover.out +++ b/qpdf/qtest/qpdf/bad28-recover.out @@ -1,5 +1,5 @@ WARNING: bad28.pdf (object 4 0, file position 395): expected endobj -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad28.out b/qpdf/qtest/qpdf/bad28.out index 11309bc..fb02944 100644 --- a/qpdf/qtest/qpdf/bad28.out +++ b/qpdf/qtest/qpdf/bad28.out @@ -1,5 +1,5 @@ WARNING: bad28.pdf (object 4 0, file position 395): expected endobj -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad3-recover.out b/qpdf/qtest/qpdf/bad3-recover.out index e282d66..9d6438f 100644 --- a/qpdf/qtest/qpdf/bad3-recover.out +++ b/qpdf/qtest/qpdf/bad3-recover.out @@ -2,7 +2,7 @@ WARNING: bad3.pdf: file is damaged WARNING: bad3.pdf (file position 542): xref not found WARNING: bad3.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad30-recover.out b/qpdf/qtest/qpdf/bad30-recover.out index 515bfbd..5e228a5 100644 --- a/qpdf/qtest/qpdf/bad30-recover.out +++ b/qpdf/qtest/qpdf/bad30-recover.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad30.out b/qpdf/qtest/qpdf/bad30.out index 515bfbd..5e228a5 100644 --- a/qpdf/qtest/qpdf/bad30.out +++ b/qpdf/qtest/qpdf/bad30.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad31-recover.out b/qpdf/qtest/qpdf/bad31-recover.out index 313e208..527f27d 100644 --- a/qpdf/qtest/qpdf/bad31-recover.out +++ b/qpdf/qtest/qpdf/bad31-recover.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter [ /Oink /Moo /FlateDecode ] /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad31.out b/qpdf/qtest/qpdf/bad31.out index 2ad0153..7f1cfb5 100644 --- a/qpdf/qtest/qpdf/bad31.out +++ b/qpdf/qtest/qpdf/bad31.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter [ /Oink /Moo /FlateDecode ] /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad32-recover.out b/qpdf/qtest/qpdf/bad32-recover.out index c038a29..4f8d525 100644 --- a/qpdf/qtest/qpdf/bad32-recover.out +++ b/qpdf/qtest/qpdf/bad32-recover.out @@ -3,7 +3,7 @@ WARNING: bad32.pdf (object 4 0, file position 307): expected 4 0 obj WARNING: bad32.pdf: Attempting to reconstruct cross-reference table WARNING: bad32.pdf: object 4 0 not found in file after regenerating cross reference table /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 4 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad33-recover.out b/qpdf/qtest/qpdf/bad33-recover.out index 51dabe6..7cb645a 100644 --- a/qpdf/qtest/qpdf/bad33-recover.out +++ b/qpdf/qtest/qpdf/bad33-recover.out @@ -1,7 +1,7 @@ WARNING: bad33.pdf: file is damaged WARNING: bad33.pdf (file position 1771): xref not found WARNING: bad33.pdf: Attempting to reconstruct cross-reference table -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter (FlateDecode) /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/bad34-recover.out b/qpdf/qtest/qpdf/bad34-recover.out index 08cc7bb..3343be7 100644 --- a/qpdf/qtest/qpdf/bad34-recover.out +++ b/qpdf/qtest/qpdf/bad34-recover.out @@ -1,7 +1,7 @@ WARNING: bad34.pdf: file is damaged WARNING: bad34.pdf (object 4 0, file position 322): expected n n obj WARNING: bad34.pdf: Attempting to reconstruct cross-reference table -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Length 44 /Quack 9 0 R >> Raw stream data: BT diff --git a/qpdf/qtest/qpdf/bad4-recover.out b/qpdf/qtest/qpdf/bad4-recover.out index 508acea..2aa06fb 100644 --- a/qpdf/qtest/qpdf/bad4-recover.out +++ b/qpdf/qtest/qpdf/bad4-recover.out @@ -2,7 +2,7 @@ WARNING: bad4.pdf: file is damaged WARNING: bad4.pdf (xref table, file position 547): xref syntax invalid WARNING: bad4.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad5-recover.out b/qpdf/qtest/qpdf/bad5-recover.out index 75fe746..7a0fd69 100644 --- a/qpdf/qtest/qpdf/bad5-recover.out +++ b/qpdf/qtest/qpdf/bad5-recover.out @@ -2,7 +2,7 @@ WARNING: bad5.pdf: file is damaged WARNING: bad5.pdf (xref table, file position 591): invalid xref entry (obj=2) WARNING: bad5.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad6-recover.out b/qpdf/qtest/qpdf/bad6-recover.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/bad6-recover.out +++ b/qpdf/qtest/qpdf/bad6-recover.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad6.out b/qpdf/qtest/qpdf/bad6.out index 26b50cb..1d054ae 100644 --- a/qpdf/qtest/qpdf/bad6.out +++ b/qpdf/qtest/qpdf/bad6.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad8-recover.out b/qpdf/qtest/qpdf/bad8-recover.out index f55a794..59b3b8c 100644 --- a/qpdf/qtest/qpdf/bad8-recover.out +++ b/qpdf/qtest/qpdf/bad8-recover.out @@ -2,7 +2,7 @@ WARNING: bad8.pdf: file is damaged WARNING: bad8.pdf (file position 543): xref not found WARNING: bad8.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/bad9-recover.out b/qpdf/qtest/qpdf/bad9-recover.out index f795a15..b9608d1 100644 --- a/qpdf/qtest/qpdf/bad9-recover.out +++ b/qpdf/qtest/qpdf/bad9-recover.out @@ -2,7 +2,7 @@ WARNING: bad9.pdf: file is damaged WARNING: bad9.pdf (trailer, file position 712): trailer dictionary lacks /Size key WARNING: bad9.pdf: Attempting to reconstruct cross-reference table /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good1.out b/qpdf/qtest/qpdf/good1.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good1.out +++ b/qpdf/qtest/qpdf/good1.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good10.out b/qpdf/qtest/qpdf/good10.out index 3c0bed9..0ae0805 100644 --- a/qpdf/qtest/qpdf/good10.out +++ b/qpdf/qtest/qpdf/good10.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type array (8) /QTest is an array with 3 items item 0 is direct item 1 is direct diff --git a/qpdf/qtest/qpdf/good11.out b/qpdf/qtest/qpdf/good11.out index 676a034..2079096 100644 --- a/qpdf/qtest/qpdf/good11.out +++ b/qpdf/qtest/qpdf/good11.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type dictionary (9) /QTest is a dictionary /a is direct unparse: << /a (a) /b 8 0 R >> diff --git a/qpdf/qtest/qpdf/good12.out b/qpdf/qtest/qpdf/good12.out index b75d27b..11cd708 100644 --- a/qpdf/qtest/qpdf/good12.out +++ b/qpdf/qtest/qpdf/good12.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type stream (10) /QTest is a stream. Dictionary: << /Filter /FlateDecode /Length 123 >> Raw stream data: x%11 b;t4| wXID8G>rQu O E:IWPlII)rp4~;As/҅jcszT.?u<*6 diff --git a/qpdf/qtest/qpdf/good13.out b/qpdf/qtest/qpdf/good13.out index a50358c..7ff08b0 100644 --- a/qpdf/qtest/qpdf/good13.out +++ b/qpdf/qtest/qpdf/good13.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type dictionary (9) /QTest is a dictionary /hex strings is direct /indirect is indirect diff --git a/qpdf/qtest/qpdf/good15.out b/qpdf/qtest/qpdf/good15.out index 884ea6e..8a670d1 100644 --- a/qpdf/qtest/qpdf/good15.out +++ b/qpdf/qtest/qpdf/good15.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type name (7) /QTest is a name with value /oink unparse: /oink unparseResolved: /oink diff --git a/qpdf/qtest/qpdf/good16.out b/qpdf/qtest/qpdf/good16.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good16.out +++ b/qpdf/qtest/qpdf/good16.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good17.out b/qpdf/qtest/qpdf/good17.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good17.out +++ b/qpdf/qtest/qpdf/good17.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good18.out b/qpdf/qtest/qpdf/good18.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good18.out +++ b/qpdf/qtest/qpdf/good18.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good19.out b/qpdf/qtest/qpdf/good19.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good19.out +++ b/qpdf/qtest/qpdf/good19.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good2.out b/qpdf/qtest/qpdf/good2.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good2.out +++ b/qpdf/qtest/qpdf/good2.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good20.out b/qpdf/qtest/qpdf/good20.out index 1d31025..9a222c1 100644 --- a/qpdf/qtest/qpdf/good20.out +++ b/qpdf/qtest/qpdf/good20.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is direct +/QTest is direct and has type null (2) /QTest is null unparse: null unparseResolved: null diff --git a/qpdf/qtest/qpdf/good3.out b/qpdf/qtest/qpdf/good3.out index 7982e10..a3afbfc 100644 --- a/qpdf/qtest/qpdf/good3.out +++ b/qpdf/qtest/qpdf/good3.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 7 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/good4.out b/qpdf/qtest/qpdf/good4.out index 7982e10..a3afbfc 100644 --- a/qpdf/qtest/qpdf/good4.out +++ b/qpdf/qtest/qpdf/good4.out @@ -1,5 +1,5 @@ /QTest is implicit -/QTest is indirect +/QTest is indirect and has type null (2) /QTest is null unparse: 7 0 R unparseResolved: null diff --git a/qpdf/qtest/qpdf/good5.out b/qpdf/qtest/qpdf/good5.out index ff2e3fd..db4239a 100644 --- a/qpdf/qtest/qpdf/good5.out +++ b/qpdf/qtest/qpdf/good5.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type boolean (3) /QTest is Boolean with value true unparse: 7 0 R unparseResolved: true diff --git a/qpdf/qtest/qpdf/good6.out b/qpdf/qtest/qpdf/good6.out index 17b498d..3213c05 100644 --- a/qpdf/qtest/qpdf/good6.out +++ b/qpdf/qtest/qpdf/good6.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type boolean (3) /QTest is Boolean with value false unparse: false unparseResolved: false diff --git a/qpdf/qtest/qpdf/good7.out b/qpdf/qtest/qpdf/good7.out index ab14fba..5ea3205 100644 --- a/qpdf/qtest/qpdf/good7.out +++ b/qpdf/qtest/qpdf/good7.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type integer (4) /QTest is an integer with value 16059 unparse: 16059 unparseResolved: 16059 diff --git a/qpdf/qtest/qpdf/good8.out b/qpdf/qtest/qpdf/good8.out index e631e46..ae23605 100644 --- a/qpdf/qtest/qpdf/good8.out +++ b/qpdf/qtest/qpdf/good8.out @@ -1,4 +1,4 @@ -/QTest is indirect +/QTest is indirect and has type real (5) /QTest is a real number with value 3.14159 unparse: 7 0 R unparseResolved: 3.14159 diff --git a/qpdf/qtest/qpdf/good9.out b/qpdf/qtest/qpdf/good9.out index 75c40bc..c481133 100644 --- a/qpdf/qtest/qpdf/good9.out +++ b/qpdf/qtest/qpdf/good9.out @@ -1,4 +1,4 @@ -/QTest is direct +/QTest is direct and has type string (6) /QTest is a string with value Hola! unparse: (Hola!) unparseResolved: (Hola!) diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 3863cdb..ec6fcff 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -232,7 +232,9 @@ void runtest(int n, char const* filename1, char const* arg2) qtest.isIndirect() ? 1 : 0); std::cout << "/QTest is " << (qtest.isIndirect() ? "in" : "") - << "direct" << std::endl; + << "direct and has type " + << qtest.getTypeName() + << " (" << qtest.getTypeCode() << ")" << std::endl; if (qtest.isNull()) { -- libgit2 0.21.4