Jay Berkenbilt
46611f0710
Prevent a division by zero error ( fixes #141 )
...
Bad /W in an xref stream could cause a division by zero error. Now
this is handled as a special case.
2017-08-11 20:11:19 -04:00
Jay Berkenbilt
8fe0b06cd8
Pad encryption parameters that are too short ( fixes #96 )
2017-08-11 19:53:56 -04:00
Jay Berkenbilt
0c99cf874b
Sanitize test suite
...
Remove problematic test files
2017-08-11 07:41:11 -04:00
Jay Berkenbilt
5814082cdc
Rerun libtoolize
2017-08-11 05:05:11 -04:00
Jay Berkenbilt
2ce9c1b67d
Update maintainer notes
2017-08-11 05:05:05 -04:00
Jay Berkenbilt
e7d0019bf4
Generate libqpdf.map from autoconf
...
Rather than checking consistency of libqpdf.map, generate it.
2017-08-11 04:56:22 -04:00
Jay Berkenbilt
6247aaa57c
Fix libqpdf.map and prevent future breakage
...
The build now checks to make sure libqpdf.map has the right library
version number in it.
2017-08-10 21:53:19 -04:00
Jay Berkenbilt
3388500327
Update TODO
2017-08-10 21:36:23 -04:00
Jay Berkenbilt
9a96e233b0
Remove PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
30f109e244
Read xref table without PCRE
...
Also accept more errors than before.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
98a843c2a2
Reconstruct xref without PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
ca5b1d267a
Improve stream length recovery
...
Eliminate PCRE and find endobj not preceded by endstream. Be more lax
about placement of endstream and endobj.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
3082e4e606
Find xref without PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
90840be594
Find lindict without PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
03aa9679ac
Find starxref without PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
1765c6ec20
Find header without PCRE
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
296b679d6e
Implement findFirst and findLast in InputSource
...
Preparing to refactor some pattern searching code to use these instead
of their own memchr loops. This should simplify the code that replaces
PCRE.
2017-08-10 21:30:32 -04:00
Jay Berkenbilt
ef8ae5449d
Allow QPDFTokenizer::readToken to return bad tokens
...
Sometimes we want to ignore bad tokens rather than having them throw
an exception. A coverage case is commented out here and added in a
later commit.
2017-08-10 19:01:41 -04:00
Jay Berkenbilt
8320d16cd2
Update TODO
2017-08-10 19:01:41 -04:00
Jay Berkenbilt
c5dc6d8067
Remove unused PointerHolder interface
...
Also fix a bug resulting from incorrect use of PointerHolder because
of this unused parameter.
2017-08-10 19:01:38 -04:00
Jay Berkenbilt
ff6971fb1c
Call PointerHolder constructor properly ( fixes #135 )
...
Passed arguments to the constructor in the wrong order.
2017-08-09 22:00:49 -04:00
Jay Berkenbilt
49825e5cb6
Add --split-pages option ( fixes #30 )
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
8fe261d8b4
QUtil::strcasecmp
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
a60eb552d3
Split bug tests into separate chunk
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
ad0e29a3a4
Fix doc typo
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
1ec59c299d
Refactor write_output
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
909daf9543
Move page spec processing earlier
2017-08-05 10:22:33 -04:00
Jay Berkenbilt
24f28f0768
Split qpdf.cc's main into reasonably sized functions
...
main() had gotten absurdly long. Split it into reasonable chunks. This
refactoring is in preparation for handling splitting output into
single pages.
2017-08-05 08:24:05 -04:00
Jay Berkenbilt
c88eaae2f2
Fix off-by-one error in --pages argument parsing ( fixes #129 )
2017-08-02 21:08:43 -04:00
Jay Berkenbilt
164c37b5a6
Fix doc typo
2017-07-30 20:28:37 -04:00
iskander.sharipov
8ee83ca722
Add page rotation example in contrib
...
This is added to contrib rather than examples because it requires
c++-11 and lacks a test suite, but it is still useful enough to
include with the distribution.
2017-07-30 08:55:15 -04:00
Jay Berkenbilt
841f967a5f
Fix command-line checking in pdf-split-pages example
2017-07-30 08:47:09 -04:00
Pranjal Bhor
6f88fd36ab
Include missing header in QPDFTokenizer.cc ( fixes #125 )
...
Required for strtol()
2017-07-30 08:47:05 -04:00
Jay Berkenbilt
2d5b854468
Allow reading command-line args from files ( fixes #16 )
2017-07-29 22:23:21 -04:00
Jay Berkenbilt
5993c3e83c
Detect input file = output file ( fixes #29 )
2017-07-29 20:58:01 -04:00
Jay Berkenbilt
885b8781cc
Allow --check to coexist with and precede other operations ( fixes #42 )
2017-07-29 19:56:21 -04:00
Jay Berkenbilt
570db9b60b
Catch more exceptions while resolving objects
2017-07-29 19:31:12 -04:00
Jay Berkenbilt
b43a0ac237
When recover stream length, indicate the length ( fixes #44 )
2017-07-29 19:15:06 -04:00
Jay Berkenbilt
f37d399d82
Add newline-before-endstream option ( fixes #103 )
2017-07-29 12:21:38 -04:00
Jay Berkenbilt
6a7d53ad2b
Handle zlib data errors better ( fixes #106 )
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
07d6f770b2
Better recovery of bad stream start ( fixes #104 )
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
39d7307f3f
autoconf: find gnu make as gmake or make ( fixes #75 )
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
b389268f16
Better handle split content streams ( fixes #73 )
...
When parsing content streams, allow content to be split arbitrarily
across stream boundaries.
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
a136824243
Fix exception catch
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
4647acbe3c
Clarify documentation on copyForeignObject ( fixes #69 )
...
Be explicit about the need to keep the source QPDF object around.
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
ba2bae4acc
Use 1.2 as the version if we can't read it from the header
...
The code was using 1.0, but we use /FlateDecode, which didn't appear
until 1.2.
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
bd72ec98ef
Update TODO
2017-07-29 12:19:04 -04:00
Jay Berkenbilt
ba78e16966
Update TODO
2017-07-28 19:32:40 -04:00
Jay Berkenbilt
3a1ff5ded9
Add option to preserve unreferenced objects
2017-07-28 19:19:11 -04:00
Jay Berkenbilt
a94a729fee
Explicitly check root dictionary type
...
Very badly corrupted files may not have a retrievable root dictionary.
Handle that as a special case so that a more helpful error message can
be provided.
2017-07-28 18:03:30 -04:00