Commit bfbeec5497c04e58e25fa207773ece1d29b67000
1 parent
553ac7f3
Make newly created name/number trees indirect objects
Showing
4 changed files
with
62 additions
and
48 deletions
examples/qtest/name-number-tree/out.pdf
| @@ -6,31 +6,10 @@ | @@ -6,31 +6,10 @@ | ||
| 6 | 1 0 obj | 6 | 1 0 obj |
| 7 | << | 7 | << |
| 8 | /Example << | 8 | /Example << |
| 9 | - /NameTree << | ||
| 10 | - /Names [ | ||
| 11 | - (B) | ||
| 12 | - (bishop) | ||
| 13 | - (N) | ||
| 14 | - (knight) | ||
| 15 | - (Q) | ||
| 16 | - (queen) | ||
| 17 | - (R) | ||
| 18 | - (rook) | ||
| 19 | - ] | ||
| 20 | - >> | ||
| 21 | - /NumberTree << | ||
| 22 | - /Kids [ | ||
| 23 | - 2 0 R | ||
| 24 | - 3 0 R | ||
| 25 | - 4 0 R | ||
| 26 | - ] | ||
| 27 | - /Limits [ | ||
| 28 | - 7 | ||
| 29 | - 343 | ||
| 30 | - ] | ||
| 31 | - >> | 9 | + /NameTree 2 0 R |
| 10 | + /NumberTree 3 0 R | ||
| 32 | >> | 11 | >> |
| 33 | - /Pages 5 0 R | 12 | + /Pages 4 0 R |
| 34 | /Type /Catalog | 13 | /Type /Catalog |
| 35 | >> | 14 | >> |
| 36 | endobj | 15 | endobj |
| @@ -38,6 +17,47 @@ endobj | @@ -38,6 +17,47 @@ endobj | ||
| 38 | %% Original object ID: 3 0 | 17 | %% Original object ID: 3 0 |
| 39 | 2 0 obj | 18 | 2 0 obj |
| 40 | << | 19 | << |
| 20 | + /Names [ | ||
| 21 | + (B) | ||
| 22 | + (bishop) | ||
| 23 | + (N) | ||
| 24 | + (knight) | ||
| 25 | + (Q) | ||
| 26 | + (queen) | ||
| 27 | + (R) | ||
| 28 | + (rook) | ||
| 29 | + ] | ||
| 30 | +>> | ||
| 31 | +endobj | ||
| 32 | + | ||
| 33 | +%% Original object ID: 4 0 | ||
| 34 | +3 0 obj | ||
| 35 | +<< | ||
| 36 | + /Kids [ | ||
| 37 | + 5 0 R | ||
| 38 | + 6 0 R | ||
| 39 | + 7 0 R | ||
| 40 | + ] | ||
| 41 | + /Limits [ | ||
| 42 | + 7 | ||
| 43 | + 343 | ||
| 44 | + ] | ||
| 45 | +>> | ||
| 46 | +endobj | ||
| 47 | + | ||
| 48 | +%% Original object ID: 2 0 | ||
| 49 | +4 0 obj | ||
| 50 | +<< | ||
| 51 | + /Count 0 | ||
| 52 | + /Kids [ | ||
| 53 | + ] | ||
| 54 | + /Type /Pages | ||
| 55 | +>> | ||
| 56 | +endobj | ||
| 57 | + | ||
| 58 | +%% Original object ID: 5 0 | ||
| 59 | +5 0 obj | ||
| 60 | +<< | ||
| 41 | /Limits [ | 61 | /Limits [ |
| 42 | 7 | 62 | 7 |
| 43 | 112 | 63 | 112 |
| @@ -73,8 +93,8 @@ endobj | @@ -73,8 +93,8 @@ endobj | ||
| 73 | >> | 93 | >> |
| 74 | endobj | 94 | endobj |
| 75 | 95 | ||
| 76 | -%% Original object ID: 4 0 | ||
| 77 | -3 0 obj | 96 | +%% Original object ID: 6 0 |
| 97 | +6 0 obj | ||
| 78 | << | 98 | << |
| 79 | /Limits [ | 99 | /Limits [ |
| 80 | 119 | 100 | 119 |
| @@ -111,8 +131,8 @@ endobj | @@ -111,8 +131,8 @@ endobj | ||
| 111 | >> | 131 | >> |
| 112 | endobj | 132 | endobj |
| 113 | 133 | ||
| 114 | -%% Original object ID: 5 0 | ||
| 115 | -4 0 obj | 134 | +%% Original object ID: 7 0 |
| 135 | +7 0 obj | ||
| 116 | << | 136 | << |
| 117 | /Limits [ | 137 | /Limits [ |
| 118 | 231 | 138 | 231 |
| @@ -151,29 +171,21 @@ endobj | @@ -151,29 +171,21 @@ endobj | ||
| 151 | >> | 171 | >> |
| 152 | endobj | 172 | endobj |
| 153 | 173 | ||
| 154 | -%% Original object ID: 2 0 | ||
| 155 | -5 0 obj | ||
| 156 | -<< | ||
| 157 | - /Count 0 | ||
| 158 | - /Kids [ | ||
| 159 | - ] | ||
| 160 | - /Type /Pages | ||
| 161 | ->> | ||
| 162 | -endobj | ||
| 163 | - | ||
| 164 | xref | 174 | xref |
| 165 | -0 6 | 175 | +0 8 |
| 166 | 0000000000 65535 f | 176 | 0000000000 65535 f |
| 167 | 0000000052 00000 n | 177 | 0000000052 00000 n |
| 168 | -0000000448 00000 n | ||
| 169 | -0000000775 00000 n | ||
| 170 | -0000001130 00000 n | ||
| 171 | -0000001505 00000 n | 178 | +0000000194 00000 n |
| 179 | +0000000339 00000 n | ||
| 180 | +0000000462 00000 n | ||
| 181 | +0000000551 00000 n | ||
| 182 | +0000000878 00000 n | ||
| 183 | +0000001233 00000 n | ||
| 172 | trailer << | 184 | trailer << |
| 173 | /Root 1 0 R | 185 | /Root 1 0 R |
| 174 | - /Size 6 | 186 | + /Size 8 |
| 175 | /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] | 187 | /ID [<31415926535897932384626433832795><31415926535897932384626433832795>] |
| 176 | >> | 188 | >> |
| 177 | startxref | 189 | startxref |
| 178 | -1567 | 190 | +1581 |
| 179 | %%EOF | 191 | %%EOF |
libqpdf/QPDFNameTreeObjectHelper.cc
| @@ -60,7 +60,8 @@ QPDFNameTreeObjectHelper | @@ -60,7 +60,8 @@ QPDFNameTreeObjectHelper | ||
| 60 | QPDFNameTreeObjectHelper::newEmpty(QPDF& qpdf, bool auto_repair) | 60 | QPDFNameTreeObjectHelper::newEmpty(QPDF& qpdf, bool auto_repair) |
| 61 | { | 61 | { |
| 62 | return QPDFNameTreeObjectHelper( | 62 | return QPDFNameTreeObjectHelper( |
| 63 | - QPDFObjectHandle::parse("<< /Names [] >>"), qpdf, auto_repair); | 63 | + qpdf.makeIndirectObject( |
| 64 | + QPDFObjectHandle::parse("<< /Names [] >>")), qpdf, auto_repair); | ||
| 64 | } | 65 | } |
| 65 | 66 | ||
| 66 | QPDFNameTreeObjectHelper::iterator::iterator( | 67 | QPDFNameTreeObjectHelper::iterator::iterator( |
libqpdf/QPDFNumberTreeObjectHelper.cc
| @@ -56,7 +56,8 @@ QPDFNumberTreeObjectHelper | @@ -56,7 +56,8 @@ QPDFNumberTreeObjectHelper | ||
| 56 | QPDFNumberTreeObjectHelper::newEmpty(QPDF& qpdf, bool auto_repair) | 56 | QPDFNumberTreeObjectHelper::newEmpty(QPDF& qpdf, bool auto_repair) |
| 57 | { | 57 | { |
| 58 | return QPDFNumberTreeObjectHelper( | 58 | return QPDFNumberTreeObjectHelper( |
| 59 | - QPDFObjectHandle::parse("<< /Nums [] >>"), qpdf, auto_repair); | 59 | + qpdf.makeIndirectObject( |
| 60 | + QPDFObjectHandle::parse("<< /Nums [] >>")), qpdf, auto_repair); | ||
| 60 | } | 61 | } |
| 61 | 62 | ||
| 62 | QPDFNumberTreeObjectHelper::iterator::iterator( | 63 | QPDFNumberTreeObjectHelper::iterator::iterator( |
libtests/qutil.cc
| @@ -487,7 +487,7 @@ void read_from_file_test() | @@ -487,7 +487,7 @@ void read_from_file_test() | ||
| 487 | Pl_Buffer b2("buffer"); | 487 | Pl_Buffer b2("buffer"); |
| 488 | // QUtil::file_provider also exercises QUtil::pipe_file | 488 | // QUtil::file_provider also exercises QUtil::pipe_file |
| 489 | QUtil::file_provider("other-file")(&b2); | 489 | QUtil::file_provider("other-file")(&b2); |
| 490 | - auto buf2 = b2.getBuffer(); | 490 | + PointerHolder<Buffer> buf2 = b2.getBuffer(); |
| 491 | assert(buf2->getSize() == size); | 491 | assert(buf2->getSize() == size); |
| 492 | assert(memcmp(buf2->getBuffer(), p, size) == 0); | 492 | assert(memcmp(buf2->getBuffer(), p, size) == 0); |
| 493 | } | 493 | } |