Commit Graph

1002 Commits

Author SHA1 Message Date
m-holger d11622b6fd Change Pl_Buffer to use std::string for storage 2023-11-17 15:55:11 +00:00
Jay Berkenbilt 9055723af3 Bump version to 11.6.3 2023-10-14 19:34:45 -04:00
Jay Berkenbilt d2d954ca15 Add substract to spelling dictionary with reminder to remove 2023-10-14 19:33:47 -04:00
Jay Berkenbilt 71566a2761 Write offsets as unsigned in linearization hint tables (fixes #1023) 2023-10-14 18:04:13 -04:00
Jay Berkenbilt 8854143c7b Spell check 2023-10-07 17:52:35 -04:00
Jay Berkenbilt f9cf79706d Bump version to 11.6.2 and update release notes 2023-10-07 13:46:45 -04:00
Jay Berkenbilt b352791a07 Prepare 11.6.1 release 2023-09-05 13:59:23 -04:00
Jay Berkenbilt 1db8a8b26f Bump version to 11.6 2023-09-02 17:28:23 -04:00
Jay Berkenbilt c51bdeb19c
Merge pull request #1017 from m-holger/mbox
Check for missing mediaboxes
2023-09-02 15:03:03 -04:00
Jay Berkenbilt ec6784411d
Merge pull request #1028 from m-holger/i1003
Maintain links to foreign pages when copying foreign objects (fixes #1003)
2023-09-02 14:59:16 -04:00
m-holger ad73bbcd90 Change QPDF::reserveObjects to reserve indirect nulls to reserve foreign objects 2023-08-25 13:30:55 +01:00
m-holger 52539544c4 Modify QPDF::replaceReserved to allow replacing indirect nulls 2023-08-25 12:37:24 +01:00
Zoe Clifford cbae2f916b Remove use of non-standard `char_traits<unsigned char>` from Pl_Buffer
`basic_string<unsigned char>` implies use of
`char_traits<unsigned char>`.

This char_traits specialization is not standard C++, and will be
removed from LibC++ as of LLVM 18. To ensure continued LibC++
compatibility it needs to be removed.

There are two possible replacements here: `std::string` (e.g.
`std::basic_string<char>`), or `std::vector<unsigned char>`.

I have opted for vector since this code is dealing with a binary
buffer; though probably either way is fine (why does C++ even have
strings anyway??).

https://github.com/qpdf/qpdf/issues/1024
2023-08-22 13:44:58 -07:00
m-holger 9a69cbba5b Check for missing mediaboxes 2023-07-29 13:16:40 +01:00
m-holger 5754ab8b39 Tune QPDF::readObjectInStream 2023-07-08 16:32:00 +01:00
m-holger aabd3f6f9b Add private method QPDF::validateStreamLineEnd 2023-07-08 16:31:57 +01:00
m-holger c422b918b1 Add new private method QPDF::readStream 2023-07-08 16:31:44 +01:00
m-holger 2643ed4dd9 Add new private method QPDF::readTrailer() 2023-07-08 01:28:15 +01:00
m-holger bee726609c Remove redundant parameters from QPDF::readObject 2023-07-07 20:37:13 +01:00
m-holger 2bf7359e35 Add new private method QPDF::readObjectInStream 2023-07-07 20:14:59 +01:00
m-holger 8e6974710c Add private method QPDF::insertFreeXrefEntry 2023-07-04 19:59:09 +01:00
m-holger 250a736482 Remove parameter overwrite from QPDF::processXRefStream 2023-07-04 19:59:09 +01:00
m-holger 769a4915e8 Add new private method QPDF::insertReconstructedXrefEntry 2023-07-04 19:59:09 +01:00
m-holger d1834d4317 Bump version to 11.5.0 2023-06-27 14:50:05 +01:00
Jay Berkenbilt 328a2d083e
Merge pull request #983 from m-holger/buffer
Add new Buffer method copy and deprecate copy constructor / assignment operator
2023-06-17 14:04:06 -04:00
Jay Berkenbilt 463953bc96
Merge pull request #992 from jberkenbilt/future
Future
2023-06-17 14:02:44 -04:00
m-holger 0f2ef5e85b Add new Buffer method copy and deprecate copy constructor / assignment operator
Also fix accidental Buffer copy in Pl_LZWDecoder::addToTable.
2023-06-17 17:18:31 +01:00
m-holger 4101596f1a Add QPDFObjectHandle move constructor and assignment operator for future build 2023-06-14 18:39:18 +01:00
m-holger 0ac005f0d9 Code tidy - Clang-Tidy rule modernize-use-override 2023-06-09 15:52:56 +01:00
m-holger ae3642ce42 Code tidy - Clang-Tidy rule modernize-use-equals-default 2023-06-09 15:45:14 +01:00
m-holger 5906dd5c1f Code tidy - Clang-Tidy rule modernize-use-default-member-init 2023-06-09 15:43:21 +01:00
m-holger 320bbb9854 Code tidy - Clang-Tidy rule modernize-return-braced-init-list 2023-06-09 15:35:56 +01:00
m-holger acd0acf169 Fix doc typos 2023-06-02 19:24:12 +01:00
m-holger 3c5700c255 Code tidy - reflow comments and strings 2023-06-02 16:00:40 +01:00
m-holger db6c09b625 Fix doc typos 2023-05-27 11:06:37 +01:00
m-holger 698a70e6a8 Code tidy - reflow comments and strings 2023-05-27 10:54:19 +01:00
Jay Berkenbilt 60965d5f4d Rerun clang-format 2023-05-21 13:35:09 -04:00
m-holger 85d784952f Globally replace 'this->m->' with 'm->'
Using search and replace.
2023-05-21 14:42:34 +01:00
m-holger aaada50a04 Fix doc comment in QPDFObjGen::set 2023-05-21 01:36:36 +01:00
Jay Berkenbilt ef24a4151b Move JSON_array for C++-20 compatibility (fixes #943) 2023-05-20 18:25:58 -04:00
Jay Berkenbilt 1c14a9e6c4
Merge pull request #959 from m-holger/reserved
Add new method QPDF::newReserved()
2023-05-20 15:27:33 -04:00
m-holger 05a49cecf1 Add new method QPDF::newReserved 2023-05-20 19:56:01 +01:00
Jay Berkenbilt d740c6ccce Rerun format_code (after merging clang-tidy PR) 2023-05-20 14:52:19 -04:00
Jay Berkenbilt a85635b839
Merge pull request #929 from m-holger/ogguard
Add new convenience class QPDFObjGen::Guard
2023-05-20 14:09:49 -04:00
m-holger e6577a1323 Replace 'virtual' specifier with 'override' 2023-05-20 15:41:56 +01:00
m-holger ba5a3567a2 Remove redundant 'virtual' specifiers 2023-05-20 15:41:52 +01:00
m-holger d0682f0f60 Use nullptr instead of 0 or NULL 2023-05-20 15:41:36 +01:00
m-holger e28f4efb00 Replace deprecated C++ includes 2023-05-20 15:41:25 +01:00
m-holger 9db2965f62 Use QPDFObjGen::set in QPDFJob::getWantedJSONObjects 2023-05-19 18:56:10 +01:00
m-holger ae2d623929 Use QPDFObjGen::set in QPDF::updateObjectMaps 2023-05-19 18:56:01 +01:00
m-holger 8fbef47093 Use QPDFObjGen::set in QPDF::getAllPages 2023-05-19 18:55:55 +01:00
m-holger 5473c0956c Use QPDFObjGen::set in QPDF::replaceForeignIndirectObjects 2023-05-19 18:52:48 +01:00
m-holger 8335b2833b Use QPDFObjGen::set in QPDFObjectHandle 2023-05-19 18:47:58 +01:00
m-holger c12a6d06fc Use QPDFObjGen::set in QPDFAcroFormDocumentHelper::traverseField 2023-05-19 16:58:24 +01:00
m-holger 55abecc42d Use QPDFObjGen::set in QPDFOutlineDocumentHelper 2023-05-19 16:58:08 +01:00
m-holger 9b08017217 Add new convenience class QPDFObjGen::set 2023-05-19 12:27:53 +01:00
m-holger 41f79bedbc Add new functions qpdfjob_create_qpdf and qpdfjob_write_qpdf 2023-04-02 09:45:19 +01:00
Jay Berkenbilt f8e39253be
Merge pull request #863 from m-holger/array
Refactor QPDF_Array
2023-04-01 11:05:07 -04:00
m-holger a171ebb942 Refactor QPDF_Array::disconnect 2023-04-01 13:57:35 +01:00
m-holger 0db65e7912 Remove temporary OHArray::disconnect and setAt 2023-03-29 13:06:26 +01:00
m-holger ad2875a4aa Remove temporary OHArray::size, append and remove_last
Also, add const overload of QPDFObjectHandle::getObj
2023-03-29 12:34:07 +01:00
m-holger 38cf7c1628 Add separate sparse mode to QPDF_Array
Add temporary clone of SparseOHArray  to implement non-sparse mode.
2023-03-29 11:48:21 +01:00
m-holger 0795b6952b Add new function QUtil::hex_decode_char 2023-03-23 20:23:37 +00:00
m-holger d8acccd5c8 Warn if catalog type entry is invalid (fixes #810) 2023-03-19 20:07:53 +00:00
Jay Berkenbilt a2c7471e66
Merge pull request #920 from m-holger/fixqdf_rl
Refactor QdfFixer::processLines
2023-03-18 13:59:47 -04:00
Jay Berkenbilt 84e29026f5
Merge pull request #926 from m-holger/omap
Remove redundant parameter depth from QPDF::updateObjectMaps
2023-03-18 13:28:19 -04:00
Jay Berkenbilt b480f7186f
Merge pull request #928 from m-holger/wr_og
Add new data member QPDFWriter::Members::root_og
2023-03-18 13:28:12 -04:00
m-holger b7791566f6 Add new data member QPDFWriter::Members::root_og
Also, uninitialize QPDFWriter::Members members.
2023-03-17 11:19:48 +00:00
m-holger 5af32b53a3 Remove redundant parameter depth from QPDF::updateObjectMaps 2023-03-15 17:50:17 +00:00
m-holger 43d9ee56ea Split QPDFJob::run into createQPDF and writeQPDF
Also, change QPDFJob to use unique_ptr<QPDF> instead of shared pointers.
2023-03-09 17:21:55 +00:00
m-holger 4ee6ff0a73 Add new procedure QUtil::read_file_into_string 2023-03-08 21:00:26 +00:00
m-holger 4359de9038 Bump version to 11.4.0 2023-03-05 15:19:26 +00:00
m-holger b27be3ed27 Remove redundant parameter from QPDFJob::handlePageSpecs and doSplitPages 2023-03-05 09:01:49 -05:00
m-holger 284b8efbc6 Bump version to 11.3.1 2023-03-05 09:01:49 -05:00
Jay Berkenbilt 26606a37d3 Revert "Add QPDFObjectHandle operator bool"
This reverts commit 56c923d109.

This commit breaks pikepdf.
2023-02-25 16:19:42 -05:00
Jay Berkenbilt c99a1ecd4f Update copyright to 2023 2023-02-25 14:18:13 -05:00
Jay Berkenbilt 48bacbf2e6 Refactor overlay/underlay in preparation for change 2023-02-25 11:25:28 -05:00
m-holger 7ae1e80fd6 Change JSON::Members::value to std::unique_ptr 2023-02-19 12:06:36 +00:00
m-holger a4f3dddb79 Change JSON_dictionary and JSON_array to store JSON objects rather than std::shared_ptr<JSON_value>
Recognise that JSON objects are effectively shared pointers to JSON_value.
2023-02-19 12:05:53 +00:00
Jay Berkenbilt 0f97e98203 Handle linearization warnings as proper warning (fixes #851) 2023-02-18 19:38:49 -05:00
Jay Berkenbilt 088fabd9b9 Move most QPDF initializations to header 2023-02-18 19:38:37 -05:00
Jay Berkenbilt b3cfa1010f
Merge pull request #902 from m-holger/od
Refactor creation of object descriptions
2023-02-18 17:49:18 -05:00
Jay Berkenbilt e4e03e9ac1
Merge pull request #890 from m-holger/jpsp
Eliminate the use of shared pointers in JSONParser
2023-02-18 17:43:02 -05:00
m-holger da14ab4dc7 Move definition of QPDF::JSONReactor into QPDF_json
Allow access to private header files when defining data members.
2023-02-18 08:33:08 +00:00
m-holger dab27c9bb3 Refactor setting of object descriptions in QPDF::JSONReactor 2023-02-18 08:33:08 +00:00
m-holger d80b63c3c0 Refactor JSON type checks 2023-02-11 15:44:03 -05:00
m-holger 72bf719772 Inline QIntC functions 2023-02-11 15:38:11 -05:00
m-holger 9096df74fc Replace strchr in QUtil::is_hex_digit and is_space 2023-02-05 08:29:21 -05:00
m-holger b6f048546f Eliminate the use of shared pointers in JSONParser 2023-02-05 12:46:38 +00:00
m-holger 3dde66ddcd Refactor JSON::writeNext 2023-01-28 14:49:32 -05:00
Jay Berkenbilt 1308c45090 Implement --remove-restrictions (fixes #833) 2023-01-28 13:42:19 -05:00
Jay Berkenbilt fe11f13d63 Add stub for --remove-restrictions 2023-01-28 13:24:45 -05:00
Jay Berkenbilt acfc9db051 QPDFJob: switch to C++11-style field initializers 2023-01-28 13:24:30 -05:00
m-holger d16308b3f5 Tune QPDFWriter::writeString etc methods
Use string_view parameters and call pipeline write methods directly.
2023-01-23 07:00:58 -05:00
m-holger e8cdc46286 Tidy QPDFXRefEntry creation 2023-01-21 18:18:15 -05:00
m-holger aefb8ff9ef Refactor QPDFWriter::writePad 2023-01-08 13:33:10 -05:00
m-holger 8363657cf3 Change QPDFWriter::object_queue to std::vector 2023-01-08 13:33:10 -05:00
m-holger b252e70cb6 Add new methods QPDFTokenizer::getType, getValue, getRawValue and getErrorMessage 2023-01-07 15:24:51 -05:00
m-holger f689769cca Refactor QPDFTokenizer::readToken 2023-01-07 15:24:51 -05:00
m-holger 863d95e567 Add new method QPDFTokenizer::nextToken 2023-01-07 15:24:51 -05:00