aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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.
2019-01-31Externalize inline images (fixes #278)Jay Berkenbilt
2019-01-31Remove acroread from testsJay Berkenbilt
This hasn't worked or been exercised in years since Adobe stopped releasing a Linux version of reader.
2019-01-31Exclude space after ID in image dataJay Berkenbilt
2019-01-31Improve locating inline image's EIJay Berkenbilt
We've actually seen a PDF file in the wild that contained EI surrounded by delimiters inside the image data, which confused qpdf's naive code. This significantly improves EI detection.
2019-01-31Refactor QPDFTokenizer's inline image handlingJay Berkenbilt
Add a version of expectInlineImage that takes an input source and searches for EI. This is in preparation for improving the way EI is found. This commit just refactors the code without changing the functionality and adds tests to make sure the old and new code behave identically.
2019-01-31Inline image token value ends with EI, not delimiterJay Berkenbilt
The inline image token erroneously included the delimiter that followed EI. The ObjectHandle created from it was correct.
2019-01-31Typo in messageJay Berkenbilt
2019-01-30Clean up some private functionsJay Berkenbilt
2019-01-30Improve info message in optimize images (fixes #280)Jay Berkenbilt
When qpdf can't optimize an image because of an unsupported color space, state this specifically. Recognize that many valid colorspaces are not represented as name objects.
2019-01-29Handle direct page objects (fixes #164)Jay Berkenbilt
2019-01-29Clarify documentation for copyForeignObject regarding pagesJay Berkenbilt
Make explicit that copyForeignObject can be used on page objects and will copy them properly but not update the pages tree.
2019-01-29Fix logic for when to compress object and xref streams (fixes #271)Jay Berkenbilt
2019-01-29Resolve duplicated page objects (fixes #268)Jay Berkenbilt
When linearizing a file or getting the list of all pages in a file, detect if the pages tree contains a duplicated page object and, if so, shallow copy it. This makes it possible to have a one to one mapping of page positions to page objects.
2019-01-29TODOJay Berkenbilt
2019-01-28Fix typo in documentationJay Berkenbilt
2019-01-28Download external libraries from githubJay Berkenbilt
Download external libraries from an isolated branch in github to avoid dependencies on external download locations, which cause sporadic CI build failures.
2019-01-27TODOJay Berkenbilt
2019-01-27Add --overlay and --underlay to qpdf CLI (fixes #207)Jay Berkenbilt
2019-01-27Add boundary condition test for getUniqueResourceNameJay Berkenbilt
2019-01-27Example of form XObject, page overlayJay Berkenbilt
2019-01-27Convert pages to form XObjectsJay Berkenbilt
Support conversion of pages to form XObjects and placement of form XObjects on pages.
2019-01-27Move rectangle transformation into QPDFMatrixJay Berkenbilt