aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-06-12Fix typo (#334)Marco Scarpetta
2019-06-10Commit forgotten test filesJay Berkenbilt
2019-06-09Handle empty DecodeParams array for (fixes #331)Jay Berkenbilt
On read, ignore /DecodeParms when empty list; on write, delete it. Some files have been found that include an empty list for /DecodeParms, but this is not technically compliant with the spec, and the only sensible interpretation is to treat it as if there are no decode parameters.
2019-05-18Regenerate autofilesrelease-qpdf-8.4.2Jay Berkenbilt
2019-05-18Prepare 8.4.2 releaseJay Berkenbilt
2019-05-18Provide link to public key fileJay Berkenbilt
2019-05-16TODOJay Berkenbilt
2019-05-16Fix Windows memory error (fixes #330)Jay Berkenbilt
2019-04-28Prepare 8.4.1 releaserelease-qpdf-8.4.1Jay Berkenbilt
2019-04-28Improve Unicode filename testingJay Berkenbilt
Remove dependency on the behavior of perl for reliable creation of Unicode file names on Windows.
2019-04-28Remove stray commentJay Berkenbilt
2019-04-22Fix typoJay Berkenbilt
2019-04-21Spell checkJay Berkenbilt
2019-04-21Compare versions between CLI and libraryJay Berkenbilt
2019-04-21Add --remove-page-labels option (fixes #317)Jay Berkenbilt
2019-04-21Add --keep-files-open-threshold (fixes #288)Jay Berkenbilt
2019-04-21Support Unicode in filenames (fixes #298)Jay Berkenbilt
2019-04-21Tighten isPageObject (fixes #310)Jay Berkenbilt
2019-04-21Document that linearize disables qdf (fixes #312)Jay Berkenbilt
2019-04-21Revert preservations of outlines with --split-pagesJay Berkenbilt
The preservation of outlines didn't provide very useful behavior anyway as it copied all outlines but most didn't work. This implementation also caused a very significant performance hit and so is being reverted until a proper solution can be coded. The eventual solution will not be compatible with the reverted solution anyway, so it's best not to leave this in.
2019-04-21TODO: ABI noteJay Berkenbilt
2019-04-21Note about -fvisibilityJay Berkenbilt
2019-03-12Undefined functions because of missing std:: or header. (#295)Thorsten Schöning
* [bcc32 Error] QPDF.cc(375): E2268 Call to undefined function 'atof' Full parser context QPDF.cc(358): parsing: void QPDF::parse(const char *) * [bcc32 Error] QPDFTokenizer.cc(183): E2268 Call to undefined function 'strtol' Full parser context QPDFTokenizer.cc(163): parsing: void QPDFTokenizer::resolveLiteral() * [bcc32 Error] pdf-split-pages.cc(52): E2268 Call to undefined function 'exit' Full parser context pdf-split-pages.cc(50): parsing: void usage() * PR #295: Including "cstdlib" should be replaced with "stdlib.h" to be more consistent. At the same time I changed the order of the surrounding includes to reflect alphabetical order, because at some files this already have been the case.
2019-03-11Fix C++ exception handling when -fvisibility=hidden (#302)jbarlow83
Fix C++ exception handling when -fvisibility=hidden Ensure that QPDFExc and QPDFSystemError are marked visible, so that their typeinfo will not be suppressed when -fvisibility=hidden. Details: https://gcc.gnu.org/wiki/Visibility
2019-03-11Don't open more than 50 files.Thorsten Schöning
Embarcadero C++Builder doesn't support more than 50 files open at the same time for legacy 32 Bit apps, which makes a test fail trying to open more than that many files. This changes the number of open files for that test to far less to make the test succeed. Alternatively one could reduce the hard coded number of 200 in QPDF itself, which I didn't do currently because it needs adoption of manuals etc. and is something which needs to be discussed with the author of QPDF. I guess chances are better to get the test changed upstream. This fixes #288: https://github.com/qpdf/qpdf/issues/288
2019-03-11[bcc32 Error] QPDF.hh(803): E2247 'QPDF::Members::resolving' is not accessibleThorsten Schöning
Full parser context QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh QPDF.hh(48): class QPDF QPDF.hh(1380): decision to instantiate: QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &) --- Resetting parser context for instantiation... QPDF.hh(799): parsing: QPDF::ResolveRecorder::ResolveRecorder(QPDF *,const QPDFObjGen &)
2019-03-11[bcc32 Error] QPDFObjectHandle.hh(911): E2247 ↵Thorsten Schöning
'QPDFObjectHandle::Members::obj' is not accessible Full parser context Pl_QPDFTokenizer.cc(1): #include ..\..\..\..\src\include\qpdf\Pl_QPDFTokenizer.hh Pl_QPDFTokenizer.hh(29): #include ..\..\..\..\src\include\qpdf/QPDFObjectHandle.hh QPDFObjectHandle.hh(51): class QPDFObjectHandle QPDFObjectHandle.hh(1052): decision to instantiate: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &) --- Resetting parser context for instantiation... QPDFObjectHandle.hh(909): parsing: PointerHolder<QPDFObject> QPDFObjectHandle::ObjAccessor::getObject(QPDFObjectHandle &)
2019-03-11Merge pull request #294 from ams-tschoening/two_ops_same_valJay Berkenbilt
Two operands must evaluate to the same value.
2019-03-11"_setmode" and "_stricmp" are not available on Borland C++Builder, neither ↵Thorsten Schöning
the classic one nor newer ones based on CLANG.
2019-03-11[bcc32 Error] QPDF.hh(223): E2303 Type name expectedThorsten Schöning
Full parser context QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh QPDF.hh(47): class QPDF
2019-03-11[bcc32 Error] QPDF.hh(203): E2316 'vector' is not a member of 'std'Thorsten Schöning
Full parser context QPDF.cc(2): #include ..\..\..\..\src\include\qpdf\QPDF.hh QPDF.hh(46): class QPDF
2019-03-11Fix json serialization for {x | -1 < x < 1} (fixes #308)Jay Berkenbilt
JSON serialization was preserving the value as presented, but JSON doesn't accept decimal values without a 0 before the decimal point.
2019-02-26TODO: make it easier to find release signing keyJay Berkenbilt
2019-02-26Update release instructions for bashJay Berkenbilt
2019-02-14Merge pull request #290 from ams-tschoening/test_needs_binmodeJay Berkenbilt
The kfo-PDF files for testing need to be copied using "binmode"…
2019-02-14[bcc32 Error] test_driver.cc(1634): E2354 Two operands must evaluate to the ↵Thorsten Schöning
same type Full parser context test_driver.cc(208): parsing: void runtest(int,const char *,const char *)
2019-02-14[bcc32 Error] qpdf.cc(3837): E2354 Two operands must evaluate to the same typeThorsten Schöning
Full parser context qpdf.cc(3803): parsing: PointerHolder<Pipeline> ImageOptimizer::makePipeline(const std::string &,Pipeline *)
2019-02-14The kfo-PDF files for testing need to be copied using "binmode" or Windows ↵Thorsten Schöning
will introduce \r\n. qpdf: selecting --keep-open-files=n qpdf: processing 001-kfo.pdf WARNING: 001-kfo.pdf: file is damaged WARNING: 001-kfo.pdf (offset 556): xref not found WARNING: 001-kfo.pdf: Attempting to reconstruct cross-reference table
2019-02-08Add test for exception handlingJay Berkenbilt
There have been issues reported where exceptions are not thrown properly across shared library/DLL boundaries, so add a test specifically to ensure that exceptions are caught as thrown.
2019-02-02Fix typo in release instructionsJay Berkenbilt
2019-02-02Update release checklistrelease-qpdf-8.4.0Jay Berkenbilt
2019-02-02Merge pull request #222 from ryandesign/LDFLAGS-orderJay Berkenbilt
Ensure zlib-flate doesn't link with an old libqpdf
2019-02-02Prepare 8.4.0 releaseJay Berkenbilt
2019-02-02Update binary compatibility test instructionsJay Berkenbilt
Since autogenerated files are now committed, we no longer need to rerun ./autogen.sh and actually shouldn't because it could mask errors.
2019-02-02Incorporate improved Windows fragility workaround from qtestJay Berkenbilt
2019-02-01TODOJay Berkenbilt
2019-02-01Spell checkJay Berkenbilt
2019-02-01Add another test case for weird page treesJay Berkenbilt
2019-02-01Don't optimize non-8-bit imagesJay Berkenbilt
Also add test cases for additional coverage on image optimization.
2019-02-01Make inline image token exactly contain the image dataJay Berkenbilt
Do not include the trailing EI, and handle cases where EI is not preceded by a delimiter. Such cases have been seen in the wild.