2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-11-16 01:27:07 +00:00
Commit Graph

2904 Commits

Author SHA1 Message Date
Jay Berkenbilt
c115680e7c Add smoke tests to AppImage build in CI
Verify runpath for all executables, check to make sure the AppImage
works in various intended ways.
2022-09-27 09:33:52 -04:00
Jay Berkenbilt
c56edf41fe AppImage build: fix library issues
* Use correct cmake flag to not build static libraries
* Force correct relative RPATH in installed executables
2022-09-27 09:32:31 -04:00
Jay Berkenbilt
7a74a491b1 Fixes in appimage AppRun (fixes #789)
* Don't "shift" when $ARGV0 is a qpdf executable
* Base -- to basename to avoid stuff like `qpdf --version` calling
  `basename --version`
2022-09-27 07:39:09 -04:00
Jay Berkenbilt
f4ca04cec1 Fix edge case in character encoding (fixes #778)
Avoid representing as PDF Doc encoding any string whose PDF Doc
encoding representation starts with a UTF-16 or UTF-8 marker.
2022-09-26 08:06:47 -04:00
m-holger
4fb7d1335a Tune QPDF_String::useHexString() 2022-09-24 17:09:56 -04:00
Jay Berkenbilt
77111086eb Add code to CI to verify signed/unsigned char
Make sure that our attempt to test both signed and unsigned char is
actually right.
2022-09-23 17:44:16 -04:00
Jay Berkenbilt
a085479ad9 Run tests in CI with char as unsigned char 2022-09-23 17:27:18 -04:00
Jay Berkenbilt
9a9a7ab097 Comment about qpdf/PointerHolder.hh in public headers 2022-09-23 15:15:39 -04:00
m-holger
44a7aff56f Refactor Pl_Buffer
Base implementation of the buffer on std::basic_string<unsigned char>.
2022-09-23 15:09:13 -04:00
m-holger
ae800361fe Tune QUtil::hex_encode 2022-09-23 06:20:12 -04:00
m-holger
033a66e9a5 Tune unparsing of hex strings in QPDF_String::unparse 2022-09-23 06:20:12 -04:00
Jay Berkenbilt
92b3543e12 Update TODO with notes about next major version
For greater visibility and community participation, track ABI change
ideas that aren't in the source in a github discussion item rather
than in TODO.
2022-09-22 07:57:52 -04:00
Jay Berkenbilt
6b371cc727 Bump version to 11.1.1 2022-09-21 15:58:32 -04:00
m-holger
2e6869483b Replace calls to QUtil::int_to_string with std::to_string 2022-09-21 15:57:14 -04:00
Jay Berkenbilt
da67a0aa04 11.1: Fix typo in release notes 2022-09-14 17:04:13 -04:00
Jay Berkenbilt
e39f14eaf0 Prepare 11.1.0 release 2022-09-14 15:44:17 -04:00
Jay Berkenbilt
772c92227c Revert "Add default move constructor/assignment to QPDFObjectHandle"
This reverts commit 416d9668ee.

This commit causes numerous failures in the pikepdf test suite and
also causes a symbol to disappear from the public API. More
investigation will be required.
2022-09-14 15:44:17 -04:00
Jay Berkenbilt
6c7c76e0e4 Fix issues with abi-perf-test 2022-09-14 15:44:17 -04:00
Jay Berkenbilt
2e35ead579 Doc: add examples for install dev component (fixes #767) 2022-09-14 09:58:56 -04:00
Jay Berkenbilt
faac493a5d Force project includes before system includes (fixes #763)
From time to time, someone has a problem because their build is
grabbing an old version of qpdf header files that are installed
somewhere on their system. I am hoping this will put an end to that.
2022-09-14 07:41:13 -04:00
Jay Berkenbilt
5796475a5e Cosmetic: use default constructor for QPDFObjGen 2022-09-14 07:35:32 -04:00
Jay Berkenbilt
9a273c4098 Mention change of tagging convention (fixes #772) 2022-09-13 11:59:46 -04:00
Jay Berkenbilt
2394acf7a6 Remove explicit direct object check from getObject
An indirect object reference to 0, 0 is invalid. If it appears in the
file or is parsed from a string, the parser catches it. This check
would only be useful for someone explicitly calling getObject with 0,
0, and that would trigger an error during resolve().
2022-09-13 11:21:29 -04:00
Jay Berkenbilt
a0b1a18172 Remove redundant function calls 2022-09-13 11:20:28 -04:00
Jay Berkenbilt
c5f61fcbd3 Improve efficiency of ResolveRecorder
Removing an element from a set with iterator is constant time, and
std::set specifies that other operations on the set do not invalidate
existing iterators.
2022-09-13 11:19:24 -04:00
Jay Berkenbilt
31b2cfbb79 Fix up a few comments 2022-09-13 11:18:49 -04:00
Jay Berkenbilt
62833ac74f Bump version to 11.1.0
Some new symbols were exported.
2022-09-12 13:19:07 -04:00
Jay Berkenbilt
d780954bb3 Add some missing QPDF_DLL markers
These markers are being added for nested classes that are already
marked with QPDF_DLL_CLASS. They don't make any different on Linux,
but they matter on Windows.
2022-09-12 13:19:07 -04:00
m-holger
416d9668ee Add default move constructor/assignment to QPDFObjectHandle 2022-09-12 13:18:56 -04:00
Jay Berkenbilt
7aa2306ef4 Bump version to 11.0.1 2022-09-12 12:43:46 -04:00
Jay Berkenbilt
4963ce6a53 Remove obsolete LL_FMT check from build (fixes #768)
This was broken for cross-compilation and has probably been
unnecessary for several years now.

Also fix extraneous whitespace in related some tests.
2022-09-12 11:48:38 -04:00
Jay Berkenbilt
1393f56e7c 11.0.0: Fix typos in comments in pkg-test 2022-09-10 11:33:18 -04:00
Jay Berkenbilt
43035c8987 Prepare 11.0.0 release 2022-09-10 09:46:09 -04:00
Jay Berkenbilt
cd7c8709aa Tweak release instructions 2022-09-10 09:45:45 -04:00
Jay Berkenbilt
38cd94bec8 Strengthen pkg-test
* Define POINTERHOLDER_TRANSITION
* Make sure we are getting the intended version of qpdf
2022-09-10 09:44:29 -04:00
Jay Berkenbilt
93f176a2a0
Documentation fix
Remove paragraph about traversal during destruction since this is still necessary with the
new implementation.
2022-09-10 07:39:25 -04:00
Jay Berkenbilt
8a3cdfd2af Change QPDFObjectHandle == to isSameObjectAs
Replace operator== and operator!=, which were testing for the same
underlying object, with isSameObjectAs. This change was motivated by
the fact that pikepdf internally had its own operator== method for
QPDFObjectHandle that did structural comparison. I backed out qpdf's
operator== as a courtesy to pikepdf (in my own testing) but also
because I think people might naturally assume that operator== does a
structural comparison, and isSameObjectAs is clearer in its intent.
2022-09-09 18:09:40 -04:00
Jay Berkenbilt
910a373a79 Clean up the Design and Library Notes chapter of the manual 2022-09-09 18:09:40 -04:00
Jay Berkenbilt
a6c4b293b1 Clean up release notes for qpdf 11 2022-09-09 10:49:25 -04:00
Jay Berkenbilt
3dbab589e3 Add C API functions for using custom loggers
Expose functions to the C API to create new loggers and to setLogger
and getLogger for QPDF and QPDFJob.
2022-09-09 10:49:25 -04:00
Jay Berkenbilt
0ad4e190ff Make QPDFLogger() private and provide create method 2022-09-09 07:03:29 -04:00
Andreas Stieger
7049588bff Fix tests with GNU grep 3.8
GNU grep 3.8 started to emit warnings when invoking egrep.
Convert all calls to grep -E.
2022-09-09 06:57:38 -04:00
Jay Berkenbilt
4dcc1021b8 Fix doc typo 2022-09-09 06:19:09 -04:00
Jay Berkenbilt
f1a2d3160a Add JSON v2 support to C API 2022-09-09 06:19:09 -04:00
Jay Berkenbilt
66f1fd2ad9 Switch user-supplied functions in C API to return int 2022-09-08 17:36:51 -04:00
Jay Berkenbilt
b0f054e600 Add ability to initialize Pl_Function with a C-style function 2022-09-08 17:35:27 -04:00
Jay Berkenbilt
5911a348a5 Fix TODO notes on multiple direct object parent issue 2022-09-08 11:47:48 -04:00
Jay Berkenbilt
18a583e8d9 Rename QPDFValueProxy back to QPDFObject
QPDFValueProxy wasn't a good name for it. We decided the evil of
having the header file be named QPDFObject_private.hh was less than
the evil of having the class be named something other than what it
should have been named.
2022-09-08 11:29:23 -04:00
Jay Berkenbilt
25ccc7eae4 Rename QPDFValueProxy.hh and QPDFValueProxy.cc
Preparing to change the class name back to QPDFObject
2022-09-08 11:19:49 -04:00
Jay Berkenbilt
c7a4967d10 Change reset to disconnect and clarify comments
I decided that it's actually fine to copy a direct object to another
QPDF. Even if we eventually prevent a QPDFObject from having multiple
parents, this could happen if an object is moved.
2022-09-08 11:06:15 -04:00