Commit c2e16827b69f3d3ac3721cfcd608b87f28e2a13f

Authored by Jay Berkenbilt
1 parent 52e024f7

Replace "file position" with "offset" in error messages

Sometimes it's an offset in an object stream or a content stream, so
file position is confusing in some cases.
Showing 108 changed files with 298 additions and 290 deletions

Too many changes.

To preserve performance only 100 of 108 files are displayed.

ChangeLog
1 2018-02-17 Jay Berkenbilt <ejb@ql.org> 1 2018-02-17 Jay Berkenbilt <ejb@ql.org>
2 2
  3 + * Error message fix: replace "file position" with "offset" in
  4 + error messages that report lexical or parsing errors. Sometimes
  5 + it's an offset in an object stream or a content stream rather than
  6 + a file position, so this makes the error message less confusing in
  7 + those cases. It still requires some knowledge to find the exact
  8 + position of the error, since when it's not a file offset, it's
  9 + probably an offset into a stream after uncompressing it.
  10 +
3 * Error message fix: correct some cases in which the object that 11 * Error message fix: correct some cases in which the object that
4 contained a lexical error was omitted from the error message. 12 contained a lexical error was omitted from the error message.
5 13
libqpdf/QPDFExc.cc
@@ -43,7 +43,7 @@ QPDFExc::createWhat(std::string const&amp; filename, @@ -43,7 +43,7 @@ QPDFExc::createWhat(std::string const&amp; filename,
43 } 43 }
44 if (offset > 0) 44 if (offset > 0)
45 { 45 {
46 - result += "file position " + QUtil::int_to_string(offset); 46 + result += "offset " + QUtil::int_to_string(offset);
47 } 47 }
48 result += ")"; 48 result += ")";
49 } 49 }
qpdf/qtest/qpdf/bad-data.out
1 -WARNING: bad-data.pdf (file position 319): error decoding stream data for object 4 0: LZWDecoder: bad code received  
2 -WARNING: bad-data.pdf (file position 319): stream will be re-processed without filtering to avoid data loss 1 +WARNING: bad-data.pdf (offset 319): error decoding stream data for object 4 0: LZWDecoder: bad code received
  2 +WARNING: bad-data.pdf (offset 319): stream will be re-processed without filtering to avoid data loss
3 qpdf: operation succeeded with warnings; resulting file may have some problems 3 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/bad-jpeg-check.out
@@ -2,5 +2,5 @@ checking bad-jpeg.pdf @@ -2,5 +2,5 @@ checking bad-jpeg.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is not linearized 4 File is not linearized
5 -WARNING: bad-jpeg.pdf (file position 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77  
6 -WARNING: bad-jpeg.pdf (file position 735): stream will be re-processed without filtering to avoid data loss 5 +WARNING: bad-jpeg.pdf (offset 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77
  6 +WARNING: bad-jpeg.pdf (offset 735): stream will be re-processed without filtering to avoid data loss
qpdf/qtest/qpdf/bad-jpeg-show.out
1 -WARNING: bad-jpeg.pdf (file position 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77 1 +WARNING: bad-jpeg.pdf (offset 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77
2 qpdf: operation succeeded with warnings; resulting file may have some problems 2 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/bad-jpeg.out
1 -WARNING: bad-jpeg.pdf (file position 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77  
2 -WARNING: bad-jpeg.pdf (file position 735): stream will be re-processed without filtering to avoid data loss 1 +WARNING: bad-jpeg.pdf (offset 735): error decoding stream data for object 6 0: Not a JPEG file: starts with 0x77 0x77
  2 +WARNING: bad-jpeg.pdf (offset 735): stream will be re-processed without filtering to avoid data loss
3 qpdf: operation succeeded with warnings; resulting file may have some problems 3 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/bad-xref-entry-corrected.out
@@ -3,7 +3,7 @@ PDF Version: 1.3 @@ -3,7 +3,7 @@ PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is not linearized 4 File is not linearized
5 WARNING: bad-xref-entry.pdf: file is damaged 5 WARNING: bad-xref-entry.pdf: file is damaged
6 -WARNING: bad-xref-entry.pdf (object 5 0, file position 580): expected n n obj 6 +WARNING: bad-xref-entry.pdf (object 5 0, offset 580): expected n n obj
7 WARNING: bad-xref-entry.pdf: Attempting to reconstruct cross-reference table 7 WARNING: bad-xref-entry.pdf: Attempting to reconstruct cross-reference table
8 1/0: uncompressed; offset = 52 8 1/0: uncompressed; offset = 52
9 2/0: uncompressed; offset = 133 9 2/0: uncompressed; offset = 133
qpdf/qtest/qpdf/bad10-recover.out
1 WARNING: bad10.pdf: file is damaged 1 WARNING: bad10.pdf: file is damaged
2 -WARNING: bad10.pdf (trailer, file position 712): /Size key in trailer dictionary is not an integer 2 +WARNING: bad10.pdf (trailer, offset 712): /Size key in trailer dictionary is not an integer
3 WARNING: bad10.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad10.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad10.out
1 -bad10.pdf (trailer, file position 712): /Size key in trailer dictionary is not an integer 1 +bad10.pdf (trailer, offset 712): /Size key in trailer dictionary is not an integer
qpdf/qtest/qpdf/bad11-recover.out
1 WARNING: bad11.pdf: file is damaged 1 WARNING: bad11.pdf: file is damaged
2 -WARNING: bad11.pdf (trailer, file position 905): /Prev key in trailer dictionary is not an integer 2 +WARNING: bad11.pdf (trailer, offset 905): /Prev key in trailer dictionary is not an integer
3 WARNING: bad11.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad11.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad11.out
1 -bad11.pdf (trailer, file position 905): /Prev key in trailer dictionary is not an integer 1 +bad11.pdf (trailer, offset 905): /Prev key in trailer dictionary is not an integer
qpdf/qtest/qpdf/bad13-recover.out
1 -WARNING: bad13.pdf (trailer, file position 753): treating unexpected brace token as null 1 +WARNING: bad13.pdf (trailer, offset 753): treating unexpected brace token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad13.out
1 -WARNING: bad13.pdf (trailer, file position 753): treating unexpected brace token as null 1 +WARNING: bad13.pdf (trailer, offset 753): treating unexpected brace token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad14-recover.out
1 -WARNING: bad14.pdf (trailer, file position 753): treating unexpected brace token as null 1 +WARNING: bad14.pdf (trailer, offset 753): treating unexpected brace token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad14.out
1 -WARNING: bad14.pdf (trailer, file position 753): treating unexpected brace token as null 1 +WARNING: bad14.pdf (trailer, offset 753): treating unexpected brace token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad15-recover.out
1 -WARNING: bad15.pdf (trailer, file position 753): treating unexpected array close token as null 1 +WARNING: bad15.pdf (trailer, offset 753): treating unexpected array close token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad15.out
1 -WARNING: bad15.pdf (trailer, file position 753): treating unexpected array close token as null 1 +WARNING: bad15.pdf (trailer, offset 753): treating unexpected array close token as null
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad16-recover.out
1 -WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close token  
2 -WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token  
3 -WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string 1 +WARNING: bad16.pdf (trailer, offset 753): unexpected dictionary close token
  2 +WARNING: bad16.pdf (trailer, offset 756): unexpected dictionary close token
  3 +WARNING: bad16.pdf (trailer, offset 759): unknown token while reading object; treating as string
4 WARNING: bad16.pdf: file is damaged 4 WARNING: bad16.pdf: file is damaged
5 -WARNING: bad16.pdf (trailer, file position 779): unexpected EOF 5 +WARNING: bad16.pdf (trailer, offset 779): unexpected EOF
6 WARNING: bad16.pdf: Attempting to reconstruct cross-reference table 6 WARNING: bad16.pdf: Attempting to reconstruct cross-reference table
7 -WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close token  
8 -WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token  
9 -WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string  
10 -bad16.pdf (trailer, file position 779): unexpected EOF 7 +WARNING: bad16.pdf (trailer, offset 753): unexpected dictionary close token
  8 +WARNING: bad16.pdf (trailer, offset 756): unexpected dictionary close token
  9 +WARNING: bad16.pdf (trailer, offset 759): unknown token while reading object; treating as string
  10 +bad16.pdf (trailer, offset 779): unexpected EOF
qpdf/qtest/qpdf/bad16.out
1 -WARNING: bad16.pdf (trailer, file position 753): unexpected dictionary close token  
2 -WARNING: bad16.pdf (trailer, file position 756): unexpected dictionary close token  
3 -WARNING: bad16.pdf (trailer, file position 759): unknown token while reading object; treating as string  
4 -bad16.pdf (trailer, file position 779): unexpected EOF 1 +WARNING: bad16.pdf (trailer, offset 753): unexpected dictionary close token
  2 +WARNING: bad16.pdf (trailer, offset 756): unexpected dictionary close token
  3 +WARNING: bad16.pdf (trailer, offset 759): unknown token while reading object; treating as string
  4 +bad16.pdf (trailer, offset 779): unexpected EOF
qpdf/qtest/qpdf/bad17-recover.out
1 -WARNING: bad17.pdf (trailer, file position 715): dictionary ended prematurely; using null as value for last key 1 +WARNING: bad17.pdf (trailer, offset 715): dictionary ended prematurely; using null as value for last key
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad17.out
1 -WARNING: bad17.pdf (trailer, file position 715): dictionary ended prematurely; using null as value for last key 1 +WARNING: bad17.pdf (trailer, offset 715): dictionary ended prematurely; using null as value for last key
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is direct and has type null (2) 3 /QTest is direct and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad18-recover.out
1 WARNING: bad18.pdf: file is damaged 1 WARNING: bad18.pdf: file is damaged
2 -WARNING: bad18.pdf (trailer, file position 753): unexpected ) 2 +WARNING: bad18.pdf (trailer, offset 753): unexpected )
3 WARNING: bad18.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad18.pdf: Attempting to reconstruct cross-reference table
4 -bad18.pdf (trailer, file position 753): unexpected ) 4 +bad18.pdf (trailer, offset 753): unexpected )
qpdf/qtest/qpdf/bad18.out
1 -bad18.pdf (trailer, file position 753): unexpected ) 1 +bad18.pdf (trailer, offset 753): unexpected )
qpdf/qtest/qpdf/bad19-recover.out
1 WARNING: bad19.pdf: file is damaged 1 WARNING: bad19.pdf: file is damaged
2 -WARNING: bad19.pdf (trailer, file position 753): unexpected > 2 +WARNING: bad19.pdf (trailer, offset 753): unexpected >
3 WARNING: bad19.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad19.pdf: Attempting to reconstruct cross-reference table
4 -bad19.pdf (trailer, file position 753): unexpected > 4 +bad19.pdf (trailer, offset 753): unexpected >
qpdf/qtest/qpdf/bad19.out
1 -bad19.pdf (trailer, file position 753): unexpected > 1 +bad19.pdf (trailer, offset 753): unexpected >
qpdf/qtest/qpdf/bad20-recover.out
1 WARNING: bad20.pdf: file is damaged 1 WARNING: bad20.pdf: file is damaged
2 -WARNING: bad20.pdf (trailer, file position 753): invalid character (q) in hexstring 2 +WARNING: bad20.pdf (trailer, offset 753): invalid character (q) in hexstring
3 WARNING: bad20.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad20.pdf: Attempting to reconstruct cross-reference table
4 -bad20.pdf (trailer, file position 753): invalid character (q) in hexstring 4 +bad20.pdf (trailer, offset 753): invalid character (q) in hexstring
qpdf/qtest/qpdf/bad20.out
1 -bad20.pdf (trailer, file position 753): invalid character (q) in hexstring 1 +bad20.pdf (trailer, offset 753): invalid character (q) in hexstring
qpdf/qtest/qpdf/bad21-recover.out
1 WARNING: bad21.pdf: file is damaged 1 WARNING: bad21.pdf: file is damaged
2 -WARNING: bad21.pdf (trailer, file position 742): invalid name token 2 +WARNING: bad21.pdf (trailer, offset 742): invalid name token
3 WARNING: bad21.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad21.pdf: Attempting to reconstruct cross-reference table
4 -bad21.pdf (trailer, file position 742): invalid name token 4 +bad21.pdf (trailer, offset 742): invalid name token
qpdf/qtest/qpdf/bad21.out
1 -bad21.pdf (trailer, file position 742): invalid name token 1 +bad21.pdf (trailer, offset 742): invalid name token
qpdf/qtest/qpdf/bad22-recover.out
1 -WARNING: bad22.pdf (object 4 0, file position 314): stream dictionary lacks /Length key  
2 -WARNING: bad22.pdf (object 4 0, file position 341): attempting to recover stream length  
3 -WARNING: bad22.pdf (object 4 0, file position 341): recovered stream length: 44 1 +WARNING: bad22.pdf (object 4 0, offset 314): stream dictionary lacks /Length key
  2 +WARNING: bad22.pdf (object 4 0, offset 341): attempting to recover stream length
  3 +WARNING: bad22.pdf (object 4 0, offset 341): recovered stream length: 44
4 /QTest is indirect and has type stream (10) 4 /QTest is indirect and has type stream (10)
5 /QTest is a stream. Dictionary: << /Qength 44 >> 5 /QTest is a stream. Dictionary: << /Qength 44 >>
6 Raw stream data: 6 Raw stream data:
qpdf/qtest/qpdf/bad22.out
1 -WARNING: bad22.pdf (object 4 0, file position 314): stream dictionary lacks /Length key 1 +WARNING: bad22.pdf (object 4 0, offset 314): stream dictionary lacks /Length key
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad23-recover.out
1 -WARNING: bad23.pdf (object 4 0, file position 314): /Length key in stream dictionary is not an integer  
2 -WARNING: bad23.pdf (object 4 0, file position 341): attempting to recover stream length  
3 -WARNING: bad23.pdf (object 4 0, file position 341): recovered stream length: 44 1 +WARNING: bad23.pdf (object 4 0, offset 314): /Length key in stream dictionary is not an integer
  2 +WARNING: bad23.pdf (object 4 0, offset 341): attempting to recover stream length
  3 +WARNING: bad23.pdf (object 4 0, offset 341): recovered stream length: 44
4 /QTest is indirect and has type stream (10) 4 /QTest is indirect and has type stream (10)
5 /QTest is a stream. Dictionary: << /Length () >> 5 /QTest is a stream. Dictionary: << /Length () >>
6 Raw stream data: 6 Raw stream data:
qpdf/qtest/qpdf/bad23.out
1 -WARNING: bad23.pdf (object 4 0, file position 314): /Length key in stream dictionary is not an integer 1 +WARNING: bad23.pdf (object 4 0, offset 314): /Length key in stream dictionary is not an integer
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad24-recover.out
1 -WARNING: bad24.pdf (object 4 0, file position 385): expected endstream  
2 -WARNING: bad24.pdf (object 4 0, file position 341): attempting to recover stream length  
3 -WARNING: bad24.pdf (object 4 0, file position 341): recovered stream length: 54 1 +WARNING: bad24.pdf (object 4 0, offset 385): expected endstream
  2 +WARNING: bad24.pdf (object 4 0, offset 341): attempting to recover stream length
  3 +WARNING: bad24.pdf (object 4 0, offset 341): recovered stream length: 54
4 /QTest is indirect and has type stream (10) 4 /QTest is indirect and has type stream (10)
5 /QTest is a stream. Dictionary: << /Length 44 >> 5 /QTest is a stream. Dictionary: << /Length 44 >>
6 Raw stream data: 6 Raw stream data:
qpdf/qtest/qpdf/bad24.out
1 -WARNING: bad24.pdf (object 4 0, file position 385): expected endstream 1 +WARNING: bad24.pdf (object 4 0, offset 385): expected endstream
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad25-recover.out
1 WARNING: bad25.pdf: file is damaged 1 WARNING: bad25.pdf: file is damaged
2 -WARNING: bad25.pdf (object 4 0, file position 307): expected n n obj 2 +WARNING: bad25.pdf (object 4 0, offset 307): expected n n obj
3 WARNING: bad25.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad25.pdf: Attempting to reconstruct cross-reference table
4 WARNING: bad25.pdf: object 4 0 not found in file after regenerating cross reference table 4 WARNING: bad25.pdf: object 4 0 not found in file after regenerating cross reference table
5 /QTest is implicit 5 /QTest is implicit
qpdf/qtest/qpdf/bad25.out
1 -WARNING: bad25.pdf (object 4 0, file position 307): expected n n obj 1 +WARNING: bad25.pdf (object 4 0, offset 307): expected n n obj
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad26-recover.out
1 WARNING: bad26.pdf: file is damaged 1 WARNING: bad26.pdf: file is damaged
2 -WARNING: bad26.pdf (object 4 0, file position 307): expected n n obj 2 +WARNING: bad26.pdf (object 4 0, offset 307): expected n n obj
3 WARNING: bad26.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad26.pdf: Attempting to reconstruct cross-reference table
4 WARNING: bad26.pdf: object 4 0 not found in file after regenerating cross reference table 4 WARNING: bad26.pdf: object 4 0 not found in file after regenerating cross reference table
5 /QTest is implicit 5 /QTest is implicit
qpdf/qtest/qpdf/bad26.out
1 -WARNING: bad26.pdf (object 4 0, file position 307): expected n n obj 1 +WARNING: bad26.pdf (object 4 0, offset 307): expected n n obj
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad27-recover.out
1 WARNING: bad27.pdf: file is damaged 1 WARNING: bad27.pdf: file is damaged
2 -WARNING: bad27.pdf (object 4 0, file position 307): expected n n obj 2 +WARNING: bad27.pdf (object 4 0, offset 307): expected n n obj
3 WARNING: bad27.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad27.pdf: Attempting to reconstruct cross-reference table
4 WARNING: bad27.pdf: object 4 0 not found in file after regenerating cross reference table 4 WARNING: bad27.pdf: object 4 0 not found in file after regenerating cross reference table
5 /QTest is implicit 5 /QTest is implicit
qpdf/qtest/qpdf/bad27.out
1 -WARNING: bad27.pdf (object 4 0, file position 307): expected n n obj 1 +WARNING: bad27.pdf (object 4 0, offset 307): expected n n obj
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad28-recover.out
1 -WARNING: bad28.pdf (object 4 0, file position 395): expected endobj 1 +WARNING: bad28.pdf (object 4 0, offset 395): expected endobj
2 /QTest is indirect and has type stream (10) 2 /QTest is indirect and has type stream (10)
3 /QTest is a stream. Dictionary: << /Length 44 >> 3 /QTest is a stream. Dictionary: << /Length 44 >>
4 Raw stream data: 4 Raw stream data:
qpdf/qtest/qpdf/bad28.out
1 -WARNING: bad28.pdf (object 4 0, file position 395): expected endobj 1 +WARNING: bad28.pdf (object 4 0, offset 395): expected endobj
2 /QTest is indirect and has type stream (10) 2 /QTest is indirect and has type stream (10)
3 /QTest is a stream. Dictionary: << /Length 44 >> 3 /QTest is a stream. Dictionary: << /Length 44 >>
4 Raw stream data: 4 Raw stream data:
qpdf/qtest/qpdf/bad29-recover.out
1 WARNING: bad29.pdf: file is damaged 1 WARNING: bad29.pdf: file is damaged
2 -WARNING: bad29.pdf (trailer, file position 742): null character not allowed in name token 2 +WARNING: bad29.pdf (trailer, offset 742): null character not allowed in name token
3 WARNING: bad29.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad29.pdf: Attempting to reconstruct cross-reference table
4 -bad29.pdf (trailer, file position 742): null character not allowed in name token 4 +bad29.pdf (trailer, offset 742): null character not allowed in name token
qpdf/qtest/qpdf/bad29.out
1 -bad29.pdf (trailer, file position 742): null character not allowed in name token 1 +bad29.pdf (trailer, offset 742): null character not allowed in name token
qpdf/qtest/qpdf/bad3-recover.out
1 WARNING: bad3.pdf: file is damaged 1 WARNING: bad3.pdf: file is damaged
2 -WARNING: bad3.pdf (file position 542): xref not found 2 +WARNING: bad3.pdf (offset 542): xref not found
3 WARNING: bad3.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad3.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad3.out
1 -bad3.pdf (file position 542): xref not found 1 +bad3.pdf (offset 542): xref not found
qpdf/qtest/qpdf/bad30-recover.out
No preview for this file type
qpdf/qtest/qpdf/bad30.out
No preview for this file type
qpdf/qtest/qpdf/bad32-recover.out
1 WARNING: bad32.pdf: file is damaged 1 WARNING: bad32.pdf: file is damaged
2 -WARNING: bad32.pdf (object 4 0, file position 307): expected 4 0 obj 2 +WARNING: bad32.pdf (object 4 0, offset 307): expected 4 0 obj
3 WARNING: bad32.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad32.pdf: Attempting to reconstruct cross-reference table
4 WARNING: bad32.pdf: object 4 0 not found in file after regenerating cross reference table 4 WARNING: bad32.pdf: object 4 0 not found in file after regenerating cross reference table
5 /QTest is implicit 5 /QTest is implicit
qpdf/qtest/qpdf/bad32.out
1 -WARNING: bad32.pdf (object 4 0, file position 307): expected 4 0 obj 1 +WARNING: bad32.pdf (object 4 0, offset 307): expected 4 0 obj
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad33-recover.out
No preview for this file type
qpdf/qtest/qpdf/bad33.out
1 -bad33.pdf (file position 1771): xref not found 1 +bad33.pdf (offset 1771): xref not found
qpdf/qtest/qpdf/bad34-recover.out
1 WARNING: bad34.pdf: file is damaged 1 WARNING: bad34.pdf: file is damaged
2 -WARNING: bad34.pdf (object 4 0, file position 322): expected n n obj 2 +WARNING: bad34.pdf (object 4 0, offset 322): expected n n obj
3 WARNING: bad34.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad34.pdf: Attempting to reconstruct cross-reference table
4 /QTest is indirect and has type stream (10) 4 /QTest is indirect and has type stream (10)
5 /QTest is a stream. Dictionary: << /Length 44 /Quack 9 0 R >> 5 /QTest is a stream. Dictionary: << /Length 44 /Quack 9 0 R >>
qpdf/qtest/qpdf/bad34.out
1 -WARNING: bad34.pdf (object 4 0, file position 322): expected n n obj 1 +WARNING: bad34.pdf (object 4 0, offset 322): expected n n obj
2 /QTest is implicit 2 /QTest is implicit
3 /QTest is indirect and has type null (2) 3 /QTest is indirect and has type null (2)
4 /QTest is null 4 /QTest is null
qpdf/qtest/qpdf/bad35-recover.out
1 -WARNING: bad35.pdf (object 1 0, file position 521): supposed object stream 1 has wrong type  
2 -bad35.pdf (file position 521): unable to find /Root dictionary 1 +WARNING: bad35.pdf (object 1 0, offset 521): supposed object stream 1 has wrong type
  2 +bad35.pdf (offset 521): unable to find /Root dictionary
qpdf/qtest/qpdf/bad35.out
1 -WARNING: bad35.pdf (object 1 0, file position 521): supposed object stream 1 has wrong type  
2 -bad35.pdf (file position 521): unable to find /Root dictionary 1 +WARNING: bad35.pdf (object 1 0, offset 521): supposed object stream 1 has wrong type
  2 +bad35.pdf (offset 521): unable to find /Root dictionary
qpdf/qtest/qpdf/bad36-recover.out
1 -WARNING: bad36.pdf (trailer, file position 764): unknown token while reading object; treating as string  
2 -WARNING: bad36.pdf (trailer, file position 715): expected dictionary key but found non-name object; inserting key /QPDFFake2  
3 -WARNING: bad36.pdf (trailer, file position 715): dictionary ended prematurely; using null as value for last key 1 +WARNING: bad36.pdf (trailer, offset 764): unknown token while reading object; treating as string
  2 +WARNING: bad36.pdf (trailer, offset 715): expected dictionary key but found non-name object; inserting key /QPDFFake2
  3 +WARNING: bad36.pdf (trailer, offset 715): dictionary ended prematurely; using null as value for last key
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
6 /QTest is null 6 /QTest is null
qpdf/qtest/qpdf/bad36.out
1 -WARNING: bad36.pdf (trailer, file position 764): unknown token while reading object; treating as string  
2 -WARNING: bad36.pdf (trailer, file position 715): expected dictionary key but found non-name object; inserting key /QPDFFake2  
3 -WARNING: bad36.pdf (trailer, file position 715): dictionary ended prematurely; using null as value for last key 1 +WARNING: bad36.pdf (trailer, offset 764): unknown token while reading object; treating as string
  2 +WARNING: bad36.pdf (trailer, offset 715): expected dictionary key but found non-name object; inserting key /QPDFFake2
  3 +WARNING: bad36.pdf (trailer, offset 715): dictionary ended prematurely; using null as value for last key
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
6 /QTest is null 6 /QTest is null
qpdf/qtest/qpdf/bad4-recover.out
1 WARNING: bad4.pdf: file is damaged 1 WARNING: bad4.pdf: file is damaged
2 -WARNING: bad4.pdf (xref table, file position 547): xref syntax invalid 2 +WARNING: bad4.pdf (xref table, offset 547): xref syntax invalid
3 WARNING: bad4.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad4.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad4.out
1 -bad4.pdf (xref table, file position 547): xref syntax invalid 1 +bad4.pdf (xref table, offset 547): xref syntax invalid
qpdf/qtest/qpdf/bad5-recover.out
1 WARNING: bad5.pdf: file is damaged 1 WARNING: bad5.pdf: file is damaged
2 -WARNING: bad5.pdf (xref table, file position 591): invalid xref entry (obj=2) 2 +WARNING: bad5.pdf (xref table, offset 591): invalid xref entry (obj=2)
3 WARNING: bad5.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad5.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad5.out
1 -bad5.pdf (xref table, file position 591): invalid xref entry (obj=2) 1 +bad5.pdf (xref table, offset 591): invalid xref entry (obj=2)
qpdf/qtest/qpdf/bad7-recover.out
1 WARNING: bad7.pdf: file is damaged 1 WARNING: bad7.pdf: file is damaged
2 -WARNING: bad7.pdf (file position 698): expected trailer dictionary 2 +WARNING: bad7.pdf (offset 698): expected trailer dictionary
3 WARNING: bad7.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad7.pdf: Attempting to reconstruct cross-reference table
4 bad7.pdf: unable to find trailer dictionary while recovering damaged file 4 bad7.pdf: unable to find trailer dictionary while recovering damaged file
qpdf/qtest/qpdf/bad7.out
1 -bad7.pdf (file position 698): expected trailer dictionary 1 +bad7.pdf (offset 698): expected trailer dictionary
qpdf/qtest/qpdf/bad8-recover.out
1 WARNING: bad8.pdf: file is damaged 1 WARNING: bad8.pdf: file is damaged
2 -WARNING: bad8.pdf (file position 543): xref not found 2 +WARNING: bad8.pdf (offset 543): xref not found
3 WARNING: bad8.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad8.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad8.out
1 -bad8.pdf (file position 543): xref not found 1 +bad8.pdf (offset 543): xref not found
qpdf/qtest/qpdf/bad9-recover.out
1 WARNING: bad9.pdf: file is damaged 1 WARNING: bad9.pdf: file is damaged
2 -WARNING: bad9.pdf (trailer, file position 712): trailer dictionary lacks /Size key 2 +WARNING: bad9.pdf (trailer, offset 712): trailer dictionary lacks /Size key
3 WARNING: bad9.pdf: Attempting to reconstruct cross-reference table 3 WARNING: bad9.pdf: Attempting to reconstruct cross-reference table
4 /QTest is implicit 4 /QTest is implicit
5 /QTest is direct and has type null (2) 5 /QTest is direct and has type null (2)
qpdf/qtest/qpdf/bad9.out
1 -bad9.pdf (trailer, file position 712): trailer dictionary lacks /Size key 1 +bad9.pdf (trailer, offset 712): trailer dictionary lacks /Size key
qpdf/qtest/qpdf/c-no-recovery.out
1 -error: bad33.pdf (file position 1771): xref not found 1 +error: bad33.pdf (offset 1771): xref not found
2 code: 5 2 code: 5
3 file: bad33.pdf 3 file: bad33.pdf
4 pos : 1771 4 pos : 1771
qpdf/qtest/qpdf/c-write-warnings.out
@@ -3,7 +3,7 @@ warning: bad33.pdf: file is damaged @@ -3,7 +3,7 @@ warning: bad33.pdf: file is damaged
3 file: bad33.pdf 3 file: bad33.pdf
4 pos : 0 4 pos : 0
5 text: file is damaged 5 text: file is damaged
6 -warning: bad33.pdf (file position 1771): xref not found 6 +warning: bad33.pdf (offset 1771): xref not found
7 code: 5 7 code: 5
8 file: bad33.pdf 8 file: bad33.pdf
9 pos : 1771 9 pos : 1771
@@ -13,7 +13,7 @@ warning: bad33.pdf: Attempting to reconstruct cross-reference table @@ -13,7 +13,7 @@ warning: bad33.pdf: Attempting to reconstruct cross-reference table
13 file: bad33.pdf 13 file: bad33.pdf
14 pos : 0 14 pos : 0
15 text: Attempting to reconstruct cross-reference table 15 text: Attempting to reconstruct cross-reference table
16 -warning: bad33.pdf (file position 629): stream filter type is not name or array 16 +warning: bad33.pdf (offset 629): stream filter type is not name or array
17 code: 5 17 code: 5
18 file: bad33.pdf 18 file: bad33.pdf
19 pos : 629 19 pos : 629
qpdf/qtest/qpdf/content-stream-errors.out
@@ -2,6 +2,6 @@ checking content-stream-errors.pdf @@ -2,6 +2,6 @@ checking content-stream-errors.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is not linearized 4 File is not linearized
5 -page 1: page object 3 0 stream 7 0 (content, file position 52): parse error while reading object  
6 -page 3: page object 5 0 stream 15 0 (stream data, file position 117): EOF found while reading inline image  
7 -page 4: page object 6 0 stream 19 0 (content, file position 53): parse error while reading object 5 +page 1: page object 3 0 stream 7 0 (content, offset 52): parse error while reading object
  6 +page 3: page object 5 0 stream 15 0 (stream data, offset 117): EOF found while reading inline image
  7 +page 4: page object 6 0 stream 19 0 (content, offset 53): parse error while reading object
qpdf/qtest/qpdf/damaged-stream-c-check.out
1 -warning: damaged-stream.pdf (file position 426): error decoding stream data for object 5 0: LZWDecoder: bad code received 1 +warning: damaged-stream.pdf (offset 426): error decoding stream data for object 5 0: LZWDecoder: bad code received
2 code: 5 2 code: 5
3 file: damaged-stream.pdf 3 file: damaged-stream.pdf
4 pos : 426 4 pos : 426
5 text: error decoding stream data for object 5 0: LZWDecoder: bad code received 5 text: error decoding stream data for object 5 0: LZWDecoder: bad code received
6 -warning: damaged-stream.pdf (file position 426): stream will be re-processed without filtering to avoid data loss 6 +warning: damaged-stream.pdf (offset 426): stream will be re-processed without filtering to avoid data loss
7 code: 5 7 code: 5
8 file: damaged-stream.pdf 8 file: damaged-stream.pdf
9 pos : 426 9 pos : 426
qpdf/qtest/qpdf/damaged-stream.out
@@ -2,5 +2,5 @@ checking damaged-stream.pdf @@ -2,5 +2,5 @@ checking damaged-stream.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is not linearized 4 File is not linearized
5 -WARNING: damaged-stream.pdf (file position 426): error decoding stream data for object 5 0: LZWDecoder: bad code received  
6 -WARNING: damaged-stream.pdf (file position 426): stream will be re-processed without filtering to avoid data loss 5 +WARNING: damaged-stream.pdf (offset 426): error decoding stream data for object 5 0: LZWDecoder: bad code received
  6 +WARNING: damaged-stream.pdf (offset 426): stream will be re-processed without filtering to avoid data loss
qpdf/qtest/qpdf/empty-object.out
1 -WARNING: empty-object.pdf (object 7 0, file position 575): empty object treated as null 1 +WARNING: empty-object.pdf (object 7 0, offset 575): empty object treated as null
2 null 2 null
3 qpdf: operation succeeded with warnings; resulting file may have some problems 3 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/eof-in-inline-image.out
@@ -22,4 +22,4 @@ name: /Fl @@ -22,4 +22,4 @@ name: /Fl
22 name: /DP 22 name: /DP
23 dictionary: << /Columns 1 /Predictor 15 >> 23 dictionary: << /Columns 1 /Predictor 15 >>
24 operator: ID 24 operator: ID
25 -page object 3 0 stream 4 0 (stream data, file position 139): EOF found while reading inline image 25 +page object 3 0 stream 4 0 (stream data, offset 139): EOF found while reading inline image
qpdf/qtest/qpdf/eof-reading-token.out
@@ -2,4 +2,4 @@ checking eof-reading-token.pdf @@ -2,4 +2,4 @@ checking eof-reading-token.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is not linearized 4 File is not linearized
5 -WARNING: eof-reading-token.pdf object stream 12 (object 13 0, file position 5): EOF while reading token 5 +WARNING: eof-reading-token.pdf object stream 12 (object 13 0, offset 5): EOF while reading token
qpdf/qtest/qpdf/good14.out
@@ -13,8 +13,8 @@ three lines @@ -13,8 +13,8 @@ three lines
13 <8a8b> 13 <8a8b>
14 (ab) 14 (ab)
15 <8c><dd> ) > 15 <8c><dd> ) >
16 -<610062> (MOO)WARNING: good14.pdf (file position 628): content normalization encountered bad tokens  
17 -WARNING: good14.pdf (file position 628): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual. 16 +<610062> (MOO)WARNING: good14.pdf (offset 628): content normalization encountered bad tokens
  17 +WARNING: good14.pdf (offset 628): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual.
18 -- stream 1 -- 18 -- stream 1 --
19 This stream does end with a newline. 19 This stream does end with a newline.
20 // tests: 20 // tests:
@@ -33,17 +33,17 @@ This stream does end with a newline. @@ -33,17 +33,17 @@ This stream does end with a newline.
33 33
34 /good name 34 /good name
35 /bad#00name 35 /bad#00name
36 -WARNING: good14.pdf (file position 860): content normalization encountered bad tokens  
37 -WARNING: good14.pdf (file position 860): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual. 36 +WARNING: good14.pdf (offset 860): content normalization encountered bad tokens
  37 +WARNING: good14.pdf (offset 860): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual.
38 -- stream 2 -- 38 -- stream 2 --
39 (This stream ends with a \001 bad token 39 (This stream ends with a \001 bad token
40 -WARNING: good14.pdf (file position 1316): content normalization encountered bad tokens  
41 -WARNING: good14.pdf (file position 1316): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents  
42 -WARNING: good14.pdf (file position 1316): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual. 40 +WARNING: good14.pdf (offset 1316): content normalization encountered bad tokens
  41 +WARNING: good14.pdf (offset 1316): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents
  42 +WARNING: good14.pdf (offset 1316): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual.
43 -- stream 3 -- 43 -- stream 3 --
44 -<AB XWARNING: good14.pdf (file position 1406): content normalization encountered bad tokens  
45 -WARNING: good14.pdf (file position 1406): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents  
46 -WARNING: good14.pdf (file position 1406): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual. 44 +<AB XWARNING: good14.pdf (offset 1406): content normalization encountered bad tokens
  45 +WARNING: good14.pdf (offset 1406): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents
  46 +WARNING: good14.pdf (offset 1406): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual.
47 -- stream 4 -- 47 -- stream 4 --
48 (ends with a name) 48 (ends with a name)
49 /ThisMustBeLast-- stream 5 -- 49 /ThisMustBeLast-- stream 5 --
@@ -54,7 +54,7 @@ BI @@ -54,7 +54,7 @@ BI
54 ID 54 ID
55 <506f7 55 <506f7
56 461746f> 56 461746f>
57 -WARNING: good14.pdf (file position 1549): content normalization encountered bad tokens  
58 -WARNING: good14.pdf (file position 1549): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents  
59 -WARNING: good14.pdf (file position 1549): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual. 57 +WARNING: good14.pdf (offset 1549): content normalization encountered bad tokens
  58 +WARNING: good14.pdf (offset 1549): normalized content ended with a bad token; you may be able to resolve this by coalescing content streams in combination with normalizing content. From the command line, specify --coalesce-contents
  59 +WARNING: good14.pdf (offset 1549): Resulting stream data may be corrupted but is may still useful for manual inspection. For more information on this warning, search for content normalization in the manual.
60 test 3 done 60 test 3 done
qpdf/qtest/qpdf/indirect-r-arg.out
1 -WARNING: indirect-r-arg.pdf (object 1 0, file position 76): unknown token while reading object; treating as string  
2 -WARNING: indirect-r-arg.pdf (object 1 0, file position 62): expected dictionary key but found non-name object; inserting key /QPDFFake1  
3 -WARNING: indirect-r-arg.pdf (object 1 0, file position 62): expected dictionary key but found non-name object; inserting key /QPDFFake2 1 +WARNING: indirect-r-arg.pdf (object 1 0, offset 76): unknown token while reading object; treating as string
  2 +WARNING: indirect-r-arg.pdf (object 1 0, offset 62): expected dictionary key but found non-name object; inserting key /QPDFFake1
  3 +WARNING: indirect-r-arg.pdf (object 1 0, offset 62): expected dictionary key but found non-name object; inserting key /QPDFFake2
4 checking indirect-r-arg.pdf 4 checking indirect-r-arg.pdf
5 PDF Version: 1.3 5 PDF Version: 1.3
6 File is not encrypted 6 File is not encrypted
qpdf/qtest/qpdf/invalid-id-xref.out
1 -WARNING: invalid-id-xref.pdf (trailer, file position 731): invalid /ID in trailer dictionary 1 +WARNING: invalid-id-xref.pdf (trailer, offset 731): invalid /ID in trailer dictionary
2 checking invalid-id-xref.pdf 2 checking invalid-id-xref.pdf
3 PDF Version: 1.4 3 PDF Version: 1.4
4 R = 3 4 R = 3
qpdf/qtest/qpdf/issue-100.out
1 WARNING: issue-100.pdf: file is damaged 1 WARNING: issue-100.pdf: file is damaged
2 -WARNING: issue-100.pdf (file position 736): xref not found 2 +WARNING: issue-100.pdf (offset 736): xref not found
3 WARNING: issue-100.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-100.pdf: Attempting to reconstruct cross-reference table
4 -WARNING: issue-100.pdf (object 5 0, file position 268): unknown token while reading object; treating as string  
5 -WARNING: issue-100.pdf (object 5 0, file position 286): unknown token while reading object; treating as string  
6 -WARNING: issue-100.pdf (object 5 0, file position 289): unknown token while reading object; treating as string  
7 -WARNING: issue-100.pdf (object 5 0, file position 294): unknown token while reading object; treating as string  
8 -WARNING: issue-100.pdf (object 5 0, file position 297): unknown token while reading object; treating as string  
9 -WARNING: issue-100.pdf (object 5 0, file position 304): unknown token while reading object; treating as string  
10 -WARNING: issue-100.pdf (object 5 0, file position 308): unexpected )  
11 -WARNING: issue-100.pdf (object 5 0, file position 418): /Length key in stream dictionary is not an integer  
12 -WARNING: issue-100.pdf (object 5 0, file position 489): attempting to recover stream length  
13 -WARNING: issue-100.pdf (object 5 0, file position 489): recovered stream length: 12  
14 -WARNING: issue-100.pdf (trailer, file position 953): expected dictionary key but found non-name object; inserting key /QPDFFake1  
15 -WARNING: issue-100.pdf (trailer, file position 953): dictionary ended prematurely; using null as value for last key  
16 -issue-100.pdf (file position 1144): unable to find /Root dictionary 4 +WARNING: issue-100.pdf (object 5 0, offset 268): unknown token while reading object; treating as string
  5 +WARNING: issue-100.pdf (object 5 0, offset 286): unknown token while reading object; treating as string
  6 +WARNING: issue-100.pdf (object 5 0, offset 289): unknown token while reading object; treating as string
  7 +WARNING: issue-100.pdf (object 5 0, offset 294): unknown token while reading object; treating as string
  8 +WARNING: issue-100.pdf (object 5 0, offset 297): unknown token while reading object; treating as string
  9 +WARNING: issue-100.pdf (object 5 0, offset 304): unknown token while reading object; treating as string
  10 +WARNING: issue-100.pdf (object 5 0, offset 308): unexpected )
  11 +WARNING: issue-100.pdf (object 5 0, offset 418): /Length key in stream dictionary is not an integer
  12 +WARNING: issue-100.pdf (object 5 0, offset 489): attempting to recover stream length
  13 +WARNING: issue-100.pdf (object 5 0, offset 489): recovered stream length: 12
  14 +WARNING: issue-100.pdf (trailer, offset 953): expected dictionary key but found non-name object; inserting key /QPDFFake1
  15 +WARNING: issue-100.pdf (trailer, offset 953): dictionary ended prematurely; using null as value for last key
  16 +issue-100.pdf (offset 1144): unable to find /Root dictionary
qpdf/qtest/qpdf/issue-101.out
1 WARNING: issue-101.pdf: file is damaged 1 WARNING: issue-101.pdf: file is damaged
2 -WARNING: issue-101.pdf (file position 3526): xref not found 2 +WARNING: issue-101.pdf (offset 3526): xref not found
3 WARNING: issue-101.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-101.pdf: Attempting to reconstruct cross-reference table
4 -WARNING: issue-101.pdf (object 5 0, file position 1242): expected dictionary key but found non-name object; inserting key /QPDFFake1  
5 -WARNING: issue-101.pdf (object 5 0, file position 1242): dictionary ended prematurely; using null as value for last key  
6 -WARNING: issue-101.pdf (object 5 0, file position 1438): /Length key in stream dictionary is not an integer  
7 -WARNING: issue-101.pdf (object 5 0, file position 1509): attempting to recover stream length  
8 -WARNING: issue-101.pdf (object 5 0, file position 1509): recovered stream length: 8  
9 -WARNING: issue-101.pdf (trailer, file position 1631): /Length key in stream dictionary is not an integer  
10 -WARNING: issue-101.pdf (trailer, file position 1702): attempting to recover stream length  
11 -WARNING: issue-101.pdf (trailer, file position 1702): recovered stream length: 12  
12 -WARNING: issue-101.pdf (trailer, file position 2026): /Length key in stream dictionary is not an integer  
13 -WARNING: issue-101.pdf (trailer, file position 2097): attempting to recover stream length  
14 -WARNING: issue-101.pdf (trailer, file position 2097): recovered stream length: 257  
15 -WARNING: issue-101.pdf (trailer, file position 2613): /Length key in stream dictionary is not an integer  
16 -WARNING: issue-101.pdf (trailer, file position 2684): attempting to recover stream length  
17 -WARNING: issue-101.pdf (trailer, file position 2684): recovered stream length: 74  
18 -WARNING: issue-101.pdf (trailer, file position 2928): unknown token while reading object; treating as string  
19 -WARNING: issue-101.pdf (trailer, file position 2930): unknown token while reading object; treating as string  
20 -WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake1  
21 -WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake2  
22 -WARNING: issue-101.pdf (trailer, file position 2928): expected dictionary key but found non-name object; inserting key /QPDFFake3  
23 -WARNING: issue-101.pdf (trailer, file position 2925): /Length key in stream dictionary is not an integer  
24 -WARNING: issue-101.pdf (trailer, file position 2996): attempting to recover stream length  
25 -WARNING: issue-101.pdf (trailer, file position 2996): recovered stream length: 12  
26 -WARNING: issue-101.pdf (trailer, file position 3339): /Length key in stream dictionary is not an integer  
27 -WARNING: issue-101.pdf (trailer, file position 3410): attempting to recover stream length  
28 -WARNING: issue-101.pdf (trailer, file position 3410): recovered stream length: 12  
29 -WARNING: issue-101.pdf (trailer, file position 3560): /Length key in stream dictionary is not an integer  
30 -WARNING: issue-101.pdf (trailer, file position 3631): attempting to recover stream length  
31 -WARNING: issue-101.pdf (trailer, file position 3631): recovered stream length: 8  
32 -WARNING: issue-101.pdf (trailer, file position 4113): /Length key in stream dictionary is not an integer  
33 -WARNING: issue-101.pdf (trailer, file position 4184): attempting to recover stream length  
34 -WARNING: issue-101.pdf (trailer, file position 4184): recovered stream length: 8  
35 -WARNING: issue-101.pdf (object 11 0, file position 591): unknown token while reading object; treating as string  
36 -WARNING: issue-101.pdf (object 11 0, file position 625): treating unexpected brace token as null  
37 -WARNING: issue-101.pdf (object 11 0, file position 626): unknown token while reading object; treating as string  
38 -WARNING: issue-101.pdf (object 11 0, file position 637): unknown token while reading object; treating as string  
39 -WARNING: issue-101.pdf (object 11 0, file position 639): unknown token while reading object; treating as string  
40 -WARNING: issue-101.pdf (object 11 0, file position 644): unknown token while reading object; treating as string  
41 -WARNING: issue-101.pdf (object 11 0, file position 647): unknown token while reading object; treating as string  
42 -WARNING: issue-101.pdf (object 11 0, file position 687): unknown token while reading object; treating as string  
43 -WARNING: issue-101.pdf (object 11 0, file position 691): unknown token while reading object; treating as string  
44 -WARNING: issue-101.pdf (object 11 0, file position 696): unknown token while reading object; treating as string  
45 -WARNING: issue-101.pdf (object 11 0, file position 698): unknown token while reading object; treating as string  
46 -WARNING: issue-101.pdf (object 11 0, file position 701): unknown token while reading object; treating as string  
47 -WARNING: issue-101.pdf (object 11 0, file position 711): unknown token while reading object; treating as string  
48 -WARNING: issue-101.pdf (object 11 0, file position 743): unknown token while reading object; treating as string  
49 -WARNING: issue-101.pdf (object 11 0, file position 745): unknown token while reading object; treating as string  
50 -WARNING: issue-101.pdf (object 11 0, file position 747): unknown token while reading object; treating as string  
51 -WARNING: issue-101.pdf (object 11 0, file position 777): unknown token while reading object; treating as string  
52 -WARNING: issue-101.pdf (object 11 0, file position 790): unknown token while reading object; treating as string  
53 -WARNING: issue-101.pdf (object 11 0, file position 800): treating unexpected brace token as null  
54 -WARNING: issue-101.pdf (object 11 0, file position 801): unknown token while reading object; treating as string  
55 -WARNING: issue-101.pdf (object 11 0, file position 811): unknown token while reading object; treating as string  
56 -WARNING: issue-101.pdf (object 11 0, file position 819): unknown token while reading object; treating as string  
57 -WARNING: issue-101.pdf (object 11 0, file position 832): unknown token while reading object; treating as string  
58 -WARNING: issue-101.pdf (object 11 0, file position 856): unexpected >  
59 -issue-101.pdf (file position 856): unable to find /Root dictionary 4 +WARNING: issue-101.pdf (object 5 0, offset 1242): expected dictionary key but found non-name object; inserting key /QPDFFake1
  5 +WARNING: issue-101.pdf (object 5 0, offset 1242): dictionary ended prematurely; using null as value for last key
  6 +WARNING: issue-101.pdf (object 5 0, offset 1438): /Length key in stream dictionary is not an integer
  7 +WARNING: issue-101.pdf (object 5 0, offset 1509): attempting to recover stream length
  8 +WARNING: issue-101.pdf (object 5 0, offset 1509): recovered stream length: 8
  9 +WARNING: issue-101.pdf (trailer, offset 1631): /Length key in stream dictionary is not an integer
  10 +WARNING: issue-101.pdf (trailer, offset 1702): attempting to recover stream length
  11 +WARNING: issue-101.pdf (trailer, offset 1702): recovered stream length: 12
  12 +WARNING: issue-101.pdf (trailer, offset 2026): /Length key in stream dictionary is not an integer
  13 +WARNING: issue-101.pdf (trailer, offset 2097): attempting to recover stream length
  14 +WARNING: issue-101.pdf (trailer, offset 2097): recovered stream length: 257
  15 +WARNING: issue-101.pdf (trailer, offset 2613): /Length key in stream dictionary is not an integer
  16 +WARNING: issue-101.pdf (trailer, offset 2684): attempting to recover stream length
  17 +WARNING: issue-101.pdf (trailer, offset 2684): recovered stream length: 74
  18 +WARNING: issue-101.pdf (trailer, offset 2928): unknown token while reading object; treating as string
  19 +WARNING: issue-101.pdf (trailer, offset 2930): unknown token while reading object; treating as string
  20 +WARNING: issue-101.pdf (trailer, offset 2928): expected dictionary key but found non-name object; inserting key /QPDFFake1
  21 +WARNING: issue-101.pdf (trailer, offset 2928): expected dictionary key but found non-name object; inserting key /QPDFFake2
  22 +WARNING: issue-101.pdf (trailer, offset 2928): expected dictionary key but found non-name object; inserting key /QPDFFake3
  23 +WARNING: issue-101.pdf (trailer, offset 2925): /Length key in stream dictionary is not an integer
  24 +WARNING: issue-101.pdf (trailer, offset 2996): attempting to recover stream length
  25 +WARNING: issue-101.pdf (trailer, offset 2996): recovered stream length: 12
  26 +WARNING: issue-101.pdf (trailer, offset 3339): /Length key in stream dictionary is not an integer
  27 +WARNING: issue-101.pdf (trailer, offset 3410): attempting to recover stream length
  28 +WARNING: issue-101.pdf (trailer, offset 3410): recovered stream length: 12
  29 +WARNING: issue-101.pdf (trailer, offset 3560): /Length key in stream dictionary is not an integer
  30 +WARNING: issue-101.pdf (trailer, offset 3631): attempting to recover stream length
  31 +WARNING: issue-101.pdf (trailer, offset 3631): recovered stream length: 8
  32 +WARNING: issue-101.pdf (trailer, offset 4113): /Length key in stream dictionary is not an integer
  33 +WARNING: issue-101.pdf (trailer, offset 4184): attempting to recover stream length
  34 +WARNING: issue-101.pdf (trailer, offset 4184): recovered stream length: 8
  35 +WARNING: issue-101.pdf (object 11 0, offset 591): unknown token while reading object; treating as string
  36 +WARNING: issue-101.pdf (object 11 0, offset 625): treating unexpected brace token as null
  37 +WARNING: issue-101.pdf (object 11 0, offset 626): unknown token while reading object; treating as string
  38 +WARNING: issue-101.pdf (object 11 0, offset 637): unknown token while reading object; treating as string
  39 +WARNING: issue-101.pdf (object 11 0, offset 639): unknown token while reading object; treating as string
  40 +WARNING: issue-101.pdf (object 11 0, offset 644): unknown token while reading object; treating as string
  41 +WARNING: issue-101.pdf (object 11 0, offset 647): unknown token while reading object; treating as string
  42 +WARNING: issue-101.pdf (object 11 0, offset 687): unknown token while reading object; treating as string
  43 +WARNING: issue-101.pdf (object 11 0, offset 691): unknown token while reading object; treating as string
  44 +WARNING: issue-101.pdf (object 11 0, offset 696): unknown token while reading object; treating as string
  45 +WARNING: issue-101.pdf (object 11 0, offset 698): unknown token while reading object; treating as string
  46 +WARNING: issue-101.pdf (object 11 0, offset 701): unknown token while reading object; treating as string
  47 +WARNING: issue-101.pdf (object 11 0, offset 711): unknown token while reading object; treating as string
  48 +WARNING: issue-101.pdf (object 11 0, offset 743): unknown token while reading object; treating as string
  49 +WARNING: issue-101.pdf (object 11 0, offset 745): unknown token while reading object; treating as string
  50 +WARNING: issue-101.pdf (object 11 0, offset 747): unknown token while reading object; treating as string
  51 +WARNING: issue-101.pdf (object 11 0, offset 777): unknown token while reading object; treating as string
  52 +WARNING: issue-101.pdf (object 11 0, offset 790): unknown token while reading object; treating as string
  53 +WARNING: issue-101.pdf (object 11 0, offset 800): treating unexpected brace token as null
  54 +WARNING: issue-101.pdf (object 11 0, offset 801): unknown token while reading object; treating as string
  55 +WARNING: issue-101.pdf (object 11 0, offset 811): unknown token while reading object; treating as string
  56 +WARNING: issue-101.pdf (object 11 0, offset 819): unknown token while reading object; treating as string
  57 +WARNING: issue-101.pdf (object 11 0, offset 832): unknown token while reading object; treating as string
  58 +WARNING: issue-101.pdf (object 11 0, offset 856): unexpected >
  59 +issue-101.pdf (offset 856): unable to find /Root dictionary
qpdf/qtest/qpdf/issue-106.out
1 WARNING: issue-106.pdf: file is damaged 1 WARNING: issue-106.pdf: file is damaged
2 -WARNING: issue-106.pdf (file position 809): xref not found 2 +WARNING: issue-106.pdf (offset 809): xref not found
3 WARNING: issue-106.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-106.pdf: Attempting to reconstruct cross-reference table
4 -WARNING: issue-106.pdf (file position 965): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect data check  
5 -WARNING: issue-106.pdf (file position 965): stream will be re-processed without filtering to avoid data loss 4 +WARNING: issue-106.pdf (offset 965): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect data check
  5 +WARNING: issue-106.pdf (offset 965): stream will be re-processed without filtering to avoid data loss
6 qpdf: operation succeeded with warnings; resulting file may have some problems 6 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/issue-117.out
1 WARNING: issue-117.pdf: file is damaged 1 WARNING: issue-117.pdf: file is damaged
2 -WARNING: issue-117.pdf (file position 3526): xref not found 2 +WARNING: issue-117.pdf (offset 3526): xref not found
3 WARNING: issue-117.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-117.pdf: Attempting to reconstruct cross-reference table
4 -WARNING: issue-117.pdf (file position 66): loop detected resolving object 2 0  
5 -WARNING: issue-117.pdf (object 2 0, file position 22): /Length key in stream dictionary is not an integer  
6 -WARNING: issue-117.pdf (object 2 0, file position 67): attempting to recover stream length  
7 -WARNING: issue-117.pdf (object 2 0, file position 67): recovered stream length: 91 4 +WARNING: issue-117.pdf (offset 66): loop detected resolving object 2 0
  5 +WARNING: issue-117.pdf (object 2 0, offset 22): /Length key in stream dictionary is not an integer
  6 +WARNING: issue-117.pdf (object 2 0, offset 67): attempting to recover stream length
  7 +WARNING: issue-117.pdf (object 2 0, offset 67): recovered stream length: 91
8 attempt to make a stream into a direct object 8 attempt to make a stream into a direct object
qpdf/qtest/qpdf/issue-118.out
1 WARNING: issue-118.pdf: can't find PDF header 1 WARNING: issue-118.pdf: can't find PDF header
2 -WARNING: issue-118.pdf (file position 732): loop detected resolving object 2 0  
3 -WARNING: issue-118.pdf (xref stream: object 8 0, file position 732): supposed object stream 2 is not a stream  
4 -issue-118.pdf (file position 732): unable to find /Root dictionary 2 +WARNING: issue-118.pdf (offset 732): loop detected resolving object 2 0
  3 +WARNING: issue-118.pdf (xref stream: object 8 0, offset 732): supposed object stream 2 is not a stream
  4 +issue-118.pdf (offset 732): unable to find /Root dictionary
qpdf/qtest/qpdf/issue-119.out
1 -WARNING: issue-119.pdf (object 4 0, file position 298): expected dictionary key but found non-name object; inserting key /QPDFFake1  
2 -WARNING: issue-119.pdf (object 4 0, file position 298): expected dictionary key but found non-name object; inserting key /QPDFFake2 1 +WARNING: issue-119.pdf (object 4 0, offset 298): expected dictionary key but found non-name object; inserting key /QPDFFake1
  2 +WARNING: issue-119.pdf (object 4 0, offset 298): expected dictionary key but found non-name object; inserting key /QPDFFake2
3 qpdf: operation succeeded with warnings; resulting file may have some problems 3 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/issue-120.out
1 -WARNING: issue-120.pdf (file position 85): loop detected resolving object 3 0  
2 -WARNING: issue-120.pdf (object 6 0, file position 85): supposed object stream 3 is not a stream 1 +WARNING: issue-120.pdf (offset 85): loop detected resolving object 3 0
  2 +WARNING: issue-120.pdf (object 6 0, offset 85): supposed object stream 3 is not a stream
3 qpdf: operation succeeded with warnings; resulting file may have some problems 3 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/issue-141a.out
1 WARNING: issue-141a.pdf: can't find PDF header 1 WARNING: issue-141a.pdf: can't find PDF header
2 -WARNING: issue-141a.pdf (xref stream: object 9 0, file position 10): stream dictionary lacks /Length key  
3 -WARNING: issue-141a.pdf (xref stream: object 9 0, file position 47): attempting to recover stream length  
4 -WARNING: issue-141a.pdf (xref stream: object 9 0, file position 47): unable to recover stream data; treating stream as empty 2 +WARNING: issue-141a.pdf (xref stream: object 9 0, offset 10): stream dictionary lacks /Length key
  3 +WARNING: issue-141a.pdf (xref stream: object 9 0, offset 47): attempting to recover stream length
  4 +WARNING: issue-141a.pdf (xref stream: object 9 0, offset 47): unable to recover stream data; treating stream as empty
5 WARNING: issue-141a.pdf: file is damaged 5 WARNING: issue-141a.pdf: file is damaged
6 -WARNING: issue-141a.pdf (xref stream, file position 3): Cross-reference stream's /W indicates entry size of 0 6 +WARNING: issue-141a.pdf (xref stream, offset 3): Cross-reference stream's /W indicates entry size of 0
7 WARNING: issue-141a.pdf: Attempting to reconstruct cross-reference table 7 WARNING: issue-141a.pdf: Attempting to reconstruct cross-reference table
8 issue-141a.pdf: unable to find trailer dictionary while recovering damaged file 8 issue-141a.pdf: unable to find trailer dictionary while recovering damaged file
qpdf/qtest/qpdf/issue-141b.out
1 WARNING: issue-141b.pdf: can't find PDF header 1 WARNING: issue-141b.pdf: can't find PDF header
2 WARNING: issue-141b.pdf: file is damaged 2 WARNING: issue-141b.pdf: file is damaged
3 -WARNING: issue-141b.pdf (file position 7): xref not found 3 +WARNING: issue-141b.pdf (offset 7): xref not found
4 WARNING: issue-141b.pdf: Attempting to reconstruct cross-reference table 4 WARNING: issue-141b.pdf: Attempting to reconstruct cross-reference table
5 issue-141b.pdf: unable to find trailer dictionary while recovering damaged file 5 issue-141b.pdf: unable to find trailer dictionary while recovering damaged file
qpdf/qtest/qpdf/issue-143.out
1 WARNING: issue-143.pdf: can't find PDF header 1 WARNING: issue-143.pdf: can't find PDF header
2 -WARNING: issue-143.pdf (xref stream: object 3 0, file position 654): stream keyword not followed by proper line terminator  
3 -WARNING: issue-143.pdf (xref stream: object 3 0, file position 607): stream dictionary lacks /Length key  
4 -WARNING: issue-143.pdf (xref stream: object 3 0, file position 654): attempting to recover stream length  
5 -WARNING: issue-143.pdf (xref stream: object 3 0, file position 654): recovered stream length: 36 2 +WARNING: issue-143.pdf (xref stream: object 3 0, offset 654): stream keyword not followed by proper line terminator
  3 +WARNING: issue-143.pdf (xref stream: object 3 0, offset 607): stream dictionary lacks /Length key
  4 +WARNING: issue-143.pdf (xref stream: object 3 0, offset 654): attempting to recover stream length
  5 +WARNING: issue-143.pdf (xref stream: object 3 0, offset 654): recovered stream length: 36
6 WARNING: issue-143.pdf: file is damaged 6 WARNING: issue-143.pdf: file is damaged
7 -WARNING: issue-143.pdf (object 1 0, file position 48): expected n n obj 7 +WARNING: issue-143.pdf (object 1 0, offset 48): expected n n obj
8 WARNING: issue-143.pdf: Attempting to reconstruct cross-reference table 8 WARNING: issue-143.pdf: Attempting to reconstruct cross-reference table
9 -WARNING: issue-143.pdf (object 1 0, file position 24): expected dictionary key but found non-name object; inserting key /QPDFFake1  
10 -WARNING: issue-143.pdf (object 1 0, file position 24): expected dictionary key but found non-name object; inserting key /QPDFFake2  
11 -WARNING: issue-143.pdf (object 1 0, file position 24): expected dictionary key but found non-name object; inserting key /QPDFFake3  
12 -WARNING: issue-143.pdf (object 1 0, file position 24): expected dictionary key but found non-name object; inserting key /QPDFFake4  
13 -WARNING: issue-143.pdf (object 1 0, file position 21): stream dictionary lacks /Length key  
14 -WARNING: issue-143.pdf (object 1 0, file position 84): attempting to recover stream length  
15 -WARNING: issue-143.pdf (object 1 0, file position 84): recovered stream length: 606  
16 -WARNING: issue-143.pdf object stream 1 (object 2 0, file position 33): expected dictionary key but found non-name object; inserting key /QPDFFake1 9 +WARNING: issue-143.pdf (object 1 0, offset 24): expected dictionary key but found non-name object; inserting key /QPDFFake1
  10 +WARNING: issue-143.pdf (object 1 0, offset 24): expected dictionary key but found non-name object; inserting key /QPDFFake2
  11 +WARNING: issue-143.pdf (object 1 0, offset 24): expected dictionary key but found non-name object; inserting key /QPDFFake3
  12 +WARNING: issue-143.pdf (object 1 0, offset 24): expected dictionary key but found non-name object; inserting key /QPDFFake4
  13 +WARNING: issue-143.pdf (object 1 0, offset 21): stream dictionary lacks /Length key
  14 +WARNING: issue-143.pdf (object 1 0, offset 84): attempting to recover stream length
  15 +WARNING: issue-143.pdf (object 1 0, offset 84): recovered stream length: 606
  16 +WARNING: issue-143.pdf object stream 1 (object 2 0, offset 33): expected dictionary key but found non-name object; inserting key /QPDFFake1
17 qpdf: operation succeeded with warnings; resulting file may have some problems 17 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/issue-146.out
1 WARNING: issue-146.pdf: file is damaged 1 WARNING: issue-146.pdf: file is damaged
2 WARNING: issue-146.pdf: can't find startxref 2 WARNING: issue-146.pdf: can't find startxref
3 WARNING: issue-146.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-146.pdf: Attempting to reconstruct cross-reference table
4 -WARNING: issue-146.pdf (trailer, file position 20728): unknown token while reading object; treating as string  
5 -issue-146.pdf (trailer, file position 20732): unexpected EOF 4 +WARNING: issue-146.pdf (trailer, offset 20728): unknown token while reading object; treating as string
  5 +issue-146.pdf (trailer, offset 20732): unexpected EOF
qpdf/qtest/qpdf/issue-147.out
@@ -2,7 +2,7 @@ WARNING: issue-147.pdf: can&#39;t find PDF header @@ -2,7 +2,7 @@ WARNING: issue-147.pdf: can&#39;t find PDF header
2 WARNING: issue-147.pdf: file is damaged 2 WARNING: issue-147.pdf: file is damaged
3 WARNING: issue-147.pdf: can't find startxref 3 WARNING: issue-147.pdf: can't find startxref
4 WARNING: issue-147.pdf: Attempting to reconstruct cross-reference table 4 WARNING: issue-147.pdf: Attempting to reconstruct cross-reference table
5 -WARNING: issue-147.pdf (trailer, file position 9): expected dictionary key but found non-name object; inserting key /QPDFFake1  
6 -WARNING: issue-147.pdf (object 62 0, file position 88): expected endobj  
7 -WARNING: issue-147.pdf (trailer, file position 90): invalid /ID in trailer dictionary 5 +WARNING: issue-147.pdf (trailer, offset 9): expected dictionary key but found non-name object; inserting key /QPDFFake1
  6 +WARNING: issue-147.pdf (object 62 0, offset 88): expected endobj
  7 +WARNING: issue-147.pdf (trailer, offset 90): invalid /ID in trailer dictionary
8 issue-147.pdf: invalid password 8 issue-147.pdf: invalid password
qpdf/qtest/qpdf/issue-148.out
1 WARNING: issue-148.pdf: can't find PDF header 1 WARNING: issue-148.pdf: can't find PDF header
2 -WARNING: issue-148.pdf (xref stream: object 8 0, file position 26): stream dictionary lacks /Length key  
3 -WARNING: issue-148.pdf (xref stream: object 8 0, file position 73): attempting to recover stream length  
4 -WARNING: issue-148.pdf (xref stream: object 8 0, file position 73): recovered stream length: 2  
5 -WARNING: issue-148.pdf (xref stream: object 8 0, file position 85): expected endobj  
6 -WARNING: issue-148.pdf (file position 73): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect header check 2 +WARNING: issue-148.pdf (xref stream: object 8 0, offset 26): stream dictionary lacks /Length key
  3 +WARNING: issue-148.pdf (xref stream: object 8 0, offset 73): attempting to recover stream length
  4 +WARNING: issue-148.pdf (xref stream: object 8 0, offset 73): recovered stream length: 2
  5 +WARNING: issue-148.pdf (xref stream: object 8 0, offset 85): expected endobj
  6 +WARNING: issue-148.pdf (offset 73): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect header check
7 WARNING: issue-148.pdf: file is damaged 7 WARNING: issue-148.pdf: file is damaged
8 -WARNING: issue-148.pdf (file position 73): getStreamData called on unfilterable stream 8 +WARNING: issue-148.pdf (offset 73): getStreamData called on unfilterable stream
9 WARNING: issue-148.pdf: Attempting to reconstruct cross-reference table 9 WARNING: issue-148.pdf: Attempting to reconstruct cross-reference table
10 issue-148.pdf: unable to find trailer dictionary while recovering damaged file 10 issue-148.pdf: unable to find trailer dictionary while recovering damaged file
qpdf/qtest/qpdf/issue-51.out
1 WARNING: issue-51.pdf: can't find PDF header 1 WARNING: issue-51.pdf: can't find PDF header
2 WARNING: issue-51.pdf: reported number of objects (0) inconsistent with actual number of objects (9) 2 WARNING: issue-51.pdf: reported number of objects (0) inconsistent with actual number of objects (9)
3 -WARNING: issue-51.pdf (object 7 0, file position 553): expected endobj  
4 -WARNING: issue-51.pdf (object 1 0, file position 359): expected endobj  
5 -WARNING: issue-51.pdf (file position 70): loop detected resolving object 2 0  
6 -WARNING: issue-51.pdf (object 2 0, file position 26): /Length key in stream dictionary is not an integer  
7 -WARNING: issue-51.pdf (object 2 0, file position 71): attempting to recover stream length  
8 -WARNING: issue-51.pdf (object 2 0, file position 71): unable to recover stream data; treating stream as empty  
9 -WARNING: issue-51.pdf (object 2 0, file position 977): unexpected EOF 3 +WARNING: issue-51.pdf (object 7 0, offset 553): expected endobj
  4 +WARNING: issue-51.pdf (object 1 0, offset 359): expected endobj
  5 +WARNING: issue-51.pdf (offset 70): loop detected resolving object 2 0
  6 +WARNING: issue-51.pdf (object 2 0, offset 26): /Length key in stream dictionary is not an integer
  7 +WARNING: issue-51.pdf (object 2 0, offset 71): attempting to recover stream length
  8 +WARNING: issue-51.pdf (object 2 0, offset 71): unable to recover stream data; treating stream as empty
  9 +WARNING: issue-51.pdf (object 2 0, offset 977): unexpected EOF
10 qpdf: operation succeeded with warnings; resulting file may have some problems 10 qpdf: operation succeeded with warnings; resulting file may have some problems
qpdf/qtest/qpdf/issue-99.out
1 WARNING: issue-99.pdf: file is damaged 1 WARNING: issue-99.pdf: file is damaged
2 -WARNING: issue-99.pdf (file position 3526): xref not found 2 +WARNING: issue-99.pdf (offset 3526): xref not found
3 WARNING: issue-99.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-99.pdf: Attempting to reconstruct cross-reference table
4 -issue-99.pdf (file position 4798): unable to find /Root dictionary 4 +issue-99.pdf (offset 4798): unable to find /Root dictionary
qpdf/qtest/qpdf/issue-99b.out
1 WARNING: issue-99b.pdf: file is damaged 1 WARNING: issue-99b.pdf: file is damaged
2 -WARNING: issue-99b.pdf (object 1 0, file position 9): object with ID 0 2 +WARNING: issue-99b.pdf (object 1 0, offset 9): object with ID 0
3 WARNING: issue-99b.pdf: Attempting to reconstruct cross-reference table 3 WARNING: issue-99b.pdf: Attempting to reconstruct cross-reference table
4 WARNING: issue-99b.pdf: object 1 0 not found in file after regenerating cross reference table 4 WARNING: issue-99b.pdf: object 1 0 not found in file after regenerating cross reference table
5 -issue-99b.pdf (file position 763): unable to find /Root dictionary 5 +issue-99b.pdf (offset 763): unable to find /Root dictionary
qpdf/qtest/qpdf/linearization-bounds-1.out
@@ -2,7 +2,7 @@ checking linearization-bounds-1.pdf @@ -2,7 +2,7 @@ checking linearization-bounds-1.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is linearized 4 File is linearized
5 -WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 12302): unexpected EOF  
6 -WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 1183): attempting to recover stream length  
7 -WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, file position 1183): recovered stream length: 106  
8 -linearization-bounds-1.pdf (linearization hint table, file position 1183): /S (shared object) offset is out of bounds 5 +WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 12302): unexpected EOF
  6 +WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
  7 +WARNING: linearization-bounds-1.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
  8 +linearization-bounds-1.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
qpdf/qtest/qpdf/linearization-bounds-2.out
@@ -2,7 +2,7 @@ checking linearization-bounds-2.pdf @@ -2,7 +2,7 @@ checking linearization-bounds-2.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is linearized 4 File is linearized
5 -WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, file position 1282): expected endstream  
6 -WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, file position 1183): attempting to recover stream length  
7 -WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, file position 1183): recovered stream length: 106  
8 -linearization-bounds-2.pdf (linearization hint table, file position 1183): /S (shared object) offset is out of bounds 5 +WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream
  6 +WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
  7 +WARNING: linearization-bounds-2.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
  8 +linearization-bounds-2.pdf (linearization hint table, offset 1183): /S (shared object) offset is out of bounds
qpdf/qtest/qpdf/linearization-large-vector-alloc.out
@@ -2,7 +2,7 @@ checking linearization-large-vector-alloc.pdf @@ -2,7 +2,7 @@ checking linearization-large-vector-alloc.pdf
2 PDF Version: 1.3 2 PDF Version: 1.3
3 File is not encrypted 3 File is not encrypted
4 File is linearized 4 File is linearized
5 -WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, file position 1282): expected endstream  
6 -WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, file position 1183): attempting to recover stream length  
7 -WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, file position 1183): recovered stream length: 106 5 +WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1282): expected endstream
  6 +WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): attempting to recover stream length
  7 +WARNING: linearization-large-vector-alloc.pdf (linearization hint stream: object 62 0, offset 1183): recovered stream length: 106
8 overflow reading bit stream 8 overflow reading bit stream
qpdf/qtest/qpdf/linearized-and-warnings-1.out
1 -WARNING: linearized-and-warnings.pdf (object 2 0, file position 1117): empty object treated as null 1 +WARNING: linearized-and-warnings.pdf (object 2 0, offset 1117): empty object treated as null
2 linearized-and-warnings.pdf: linearization data: 2 linearized-and-warnings.pdf: linearization data:
3 3
4 file_size: 1310 4 file_size: 1310