m-holger
55abecc42d
Use QPDFObjGen::set in QPDFOutlineDocumentHelper
2023-05-19 16:58:08 +01:00
m-holger
0e81ffa7b6
Use QPDFObjGen::set in NNTree
2023-05-19 16:58:04 +01:00
m-holger
9b08017217
Add new convenience class QPDFObjGen::set
2023-05-19 12:27:53 +01:00
Jay Berkenbilt
a6d7b79e65
Bump AppImage to Ubuntu 20.04
...
18.04 is out of security support, and cmake for 18.04 is no longer
available via kitware's debian repository (or at least fetching it
failed for one build).
2023-05-05 06:47:59 -04:00
Jay Berkenbilt
a69fea14ae
Add the file to reproduce fuzz issue 57639
...
It is possible to reproduce the failure with this file following the
instructions with oss-fuzz, though it does not cause a failure in CI.
The failure was introduced in
18c1ffe0df
.
2023-05-05 06:45:40 -04:00
Jay Berkenbilt
989819b75f
Merge pull request #947 from m-holger/null
...
Prevent destruction of shared null objects
2023-04-15 12:30:41 -04:00
m-holger
08d7b56746
Prevent destruction of shared null objects
...
#863 uses a single null object for nulls that were previously implicit. In
certain circumstances this shared null object gets destroyed (i.e changed
to a QPDF_Destroyed object) when a QPDF object is destroyed.
Modify the QPDF destructor so that null objects get disconnected from the
dying QPDF object but not destroyed to prevent this from happening.
2023-04-11 18:01:14 +01:00
Jay Berkenbilt
7e77af3583
Merge pull request #941 from m-holger/norm
...
Fix bug in QPDF_Name::normalizeName introduced in #891
2023-04-04 15:08:35 -04:00
m-holger
3f2ebf334b
Fix bug in QPDF_Name::normalizeName introduced in #891
...
'#' was omitted from the list of chars that need to be escaped.
2023-04-04 15:54:54 +01:00
Jay Berkenbilt
230f1ab290
Merge pull request #933 from m-holger/c_job
...
C-API : expose QPDFJob::createQPDF and writeQPDF
2023-04-02 09:01:26 -04:00
m-holger
41f79bedbc
Add new functions qpdfjob_create_qpdf and qpdfjob_write_qpdf
2023-04-02 09:45:19 +01:00
m-holger
c78f44798a
Add new _qpdf_data constructor taking a std::unique_ptr<QPDF>
...
Also, move _qpdf_data and to new header filer _qpdf_error to new header
file qpdf-c_impl.hh
2023-04-02 09:24:08 +01:00
m-holger
a2edf27b76
Initialize _qpdf_data members
2023-04-02 09:24:08 +01:00
Jay Berkenbilt
f8e39253be
Merge pull request #863 from m-holger/array
...
Refactor QPDF_Array
2023-04-01 11:05:07 -04:00
Jay Berkenbilt
40e4d1f97c
Merge pull request #930 from m-holger/throw
...
Code tidy re-throwing of exceptions
2023-04-01 09:42:52 -04:00
Jay Berkenbilt
5981b25e98
Merge pull request #932 from m-holger/wr_upo
...
Tune indentations in QPDFWriter::unparseObject
2023-04-01 09:37:55 -04:00
Jay Berkenbilt
ef6f5a97f4
Merge pull request #936 from m-holger/hex
...
Refactor QUtil::hex_decode
2023-04-01 09:31:28 -04:00
m-holger
0b53b648ab
Refactor QPDF_Array::unparse
2023-04-01 13:58:21 +01:00
m-holger
c2ab0441b5
Refactor QPDF_Array::getJSON
2023-04-01 13:58:15 +01:00
m-holger
a7b6975132
Remove SparseOHArray
2023-04-01 13:58:06 +01:00
m-holger
d3f2dc322b
Refactor QPDF_Array::copy
2023-04-01 13:57:47 +01:00
m-holger
a171ebb942
Refactor QPDF_Array::disconnect
2023-04-01 13:57:35 +01:00
m-holger
0aae54d383
Refactor QPDF_Array::setFromVector
2023-04-01 13:57:28 +01:00
m-holger
5072238867
Refactor QPDF_Array::getAsVector
2023-04-01 13:57:22 +01:00
m-holger
e186da1721
Remove SparseOHArray::at, setAt and append
2023-04-01 13:57:15 +01:00
m-holger
1c85e7ece4
Remove SparseOHArray::erase
2023-04-01 13:56:54 +01:00
m-holger
6295da436f
Remove SparseOHArray::insert
2023-04-01 13:56:47 +01:00
m-holger
73023bcb5d
Change sparse_array test to test sparse QPDF_Arrays
2023-04-01 13:56:37 +01:00
m-holger
182c2480df
Refactor QPDF_Array::setItem and rename to setAt
2023-04-01 13:56:29 +01:00
m-holger
4d37389bef
Refactor QPDF_Array::eraseItem and rename to erase
2023-04-01 13:56:16 +01:00
m-holger
1bb23d0545
Refactor QPDF_Array::insertItem and rename to insert
2023-04-01 13:56:10 +01:00
m-holger
cedb37caa1
Refactor QPDF_Array::appendItem and rename to push_back
2023-04-01 13:55:14 +01:00
m-holger
c6179da961
Add new method QPDFValue::checkOwnership
2023-04-01 13:54:44 +01:00
m-holger
a1a8f35b63
Refactor QPDF_Array::getItem and rename to at
2023-04-01 13:54:17 +01:00
m-holger
51d350c98c
Inline QPDF_Array::getNItems and rename to size
2023-04-01 12:25:15 +01:00
m-holger
e6db8ddeba
Change SparseOHArray index type to int and elements type to map
...
There are no reasons other than historical to use size_t.
On balance, using map is more efficient. Hold shared pointers to
QPDFObjects rather than QPDFObjectHandles for consistencey with
QPDF_Array.
2023-04-01 12:25:06 +01:00
m-holger
ea5164938e
Remove temporary OHArray
2023-04-01 12:24:52 +01:00
m-holger
9e30de8032
Remove temporary OHArray::erase, insert and copy
2023-03-29 13:15:39 +01:00
m-holger
0db65e7912
Remove temporary OHArray::disconnect and setAt
2023-03-29 13:06:26 +01:00
m-holger
1367226002
Remove temporary OHArray::at
2023-03-29 13:00:28 +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
8fdc3f0964
Optimize QPDFParser for non-sparse QPDF_Arrays
...
Stop using nullptr to represent null objects.
Count null array elements and trigger creation of sparse arrays if null count is
greater than 100.
2023-03-29 12:10:19 +01:00
m-holger
18c1ffe0df
Change underlying data structure of QPDF_Array in non-sparse mode to std::vector
2023-03-29 12:01:24 +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
de29fd56c4
Remove redundant QPDF_Array::addExplicitElementsToList
2023-03-29 10:47:37 +01:00
Jay Berkenbilt
b62ad7ecc6
Merge pull request #937 from m-holger/cspell
...
Remove duplicate entries from cSpell.json
2023-03-26 08:58:19 -04:00
m-holger
0c4200a1f2
Remove duplicate entries from cSpell.json
2023-03-24 11:47:35 +00:00
m-holger
5f4f553c35
Refactor QUtil::hex_decode
2023-03-23 20:25:42 +00:00
m-holger
0795b6952b
Add new function QUtil::hex_decode_char
2023-03-23 20:23:37 +00:00
m-holger
ce66604290
Tune indentations in QPDFWriter::unparseObject
...
Set indent differently for qdf and non-qdf files.
Combine with preceding newline for qdf files.
2023-03-21 10:59:05 +00:00