m-holger
266d479735
Refactor QPDF_Array::at
...
Change the return type to a std::pair<bool, QPDFObjectHandle> in order to
allow a default constructed object handle (which is currently returned to
indicate failure) to become a valid object.
2024-09-17 09:59:00 +01:00
m-holger
7777ea84e7
Add new method ObjTable::emplace_back
2024-08-31 21:03:37 +01:00
m-holger
4badc78aea
Remove methods ObjTable::initialize
2024-08-31 15:01:45 +01:00
m-holger
06001ed25b
Refactor the creation of unresolved objects
...
Create unresolved objects only for objects in the xref table (except during
parsing of the xref table). Do not add indirect nulls into the the object
cache as the result of a cache miss during a call to getObject except
during parsing or creation/updating from JSON. To support this behaviour,
add new private methods getObjectForParser and getObjectForJSON.
As a result of this change, dangling references are treated as direct nulls
rather than indirect nulls.
2024-08-06 12:22:09 +01:00
m-holger
77d1a0cf24
Merge pull request #1262 from m-holger/i1261
...
Fix writing reals with trailing '.' as JSON (fixes #1261 )
2024-08-06 01:47:04 +01:00
m-holger
7a1ec75ee1
Fix writing reals with trailing '.' as JSON ( fixes #1261 )
2024-08-06 01:09:48 +01:00
Christopher Fore
6918f0b7eb
libtests: include cstdint for GCC 15
...
GCC 15 starts to no longer include this by default, requiring it to be
explicitly included.
Error message:
libtests/cxx11.cc:75:16: error: ‘uint8_t’ was not declared in this scope
75 | check_size<uint8_t>(1, false);
| ^~~~~~~
libtests/cxx11.cc:10:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
9 | #include <regex>
+++ |+#include <cstdint>
10 | #include <type_traits>
Signed-off-by: Christopher Fore <csfore@posteo.net>
2024-08-05 10:00:59 -04:00
Jay Berkenbilt
65bd8bc57d
Add DCT decompression config methods in favor of compile-time changes
...
As a rule, we should avoid conditional compilation is it always causes
code paths that are sometimes not even seen lexically by the compiler.
Also, we want the actual code being fuzzed to be as close as possible
to the real code. Conditional compilation is suitable to handle
underlying system differences.
Instead, favor configuration using callbacks or other methods that can
be triggered in the places where they need to be exercised.
2024-07-03 15:43:38 +01:00
m-holger
8791b5f8d0
In QPDFWriter replace map obj_renumber with a new object table obj
2024-03-08 09:36:22 +00:00
m-holger
703e798330
Add additional sparse QPDF_Array tests
2024-02-17 17:14:07 +00:00
Jay Berkenbilt
b1b789df42
Detect end of input inside an unfinished JSON string
2024-02-06 15:30:29 -05:00
Jay Berkenbilt
7caa9ddf5a
Format code
2024-02-04 16:12:01 -05:00
m-holger
b6a2b5d3c1
Handle default-constructed JSON objects
2024-01-18 10:06:43 +00:00
m-holger
a41b789995
Add new method JSON::getDictItem
2024-01-15 15:02:52 +00:00
Jay Berkenbilt
7de0b3f3c0
JSONHandler: add fallback handler support
2024-01-11 06:13:57 -05:00
Jay Berkenbilt
070ee710eb
Support excluding values from numeric ranges ( fixes #564 , #790 )
2024-01-01 10:48:14 -05:00
Jay Berkenbilt
708ea4ef43
Completely rewrite QUtil::parse_numrange
2024-01-01 10:32:33 -05:00
Jay Berkenbilt
a3b939ce58
Tweak utf8 checks
2023-12-27 10:48:54 -05:00
Jay Berkenbilt
6d4115b7c5
Detect overlong UTF-8 strings
2023-12-25 11:17:17 -05:00
Jay Berkenbilt
7c0fdf8510
Format code, bump clang-format version to 18
2023-12-22 21:45:10 -05:00
Jay Berkenbilt
a5974a7790
flate test: don't depend on zlib output
2023-12-20 07:07:35 -05:00
Jay Berkenbilt
ca189800fa
logger test: don't depend on zlib output
2023-12-20 07:07:35 -05:00
m-holger
9f7f9496ed
Add Buffer constructors taking std::string parameters
2023-11-26 12:26:44 +00:00
Jay Berkenbilt
806922f643
ascii85: ignore whitespace between ~ and > ( fixes #973 )
2023-09-03 13:56:34 -04: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
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
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
Jay Berkenbilt
60965d5f4d
Rerun clang-format
2023-05-21 13:35:09 -04:00
Jay Berkenbilt
d740c6ccce
Rerun format_code (after merging clang-tidy PR)
2023-05-20 14:52:19 -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
2fa581537b
Use auto when initializing with a cast
2023-05-20 15:41:44 +01:00
m-holger
41ec7eda54
Use auto when initialializing with new
2023-05-20 15:41:40 +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
7f043fe88e
Remove unused include directives
2023-05-20 15:37:41 +01:00
m-holger
a7b6975132
Remove SparseOHArray
2023-04-01 13:58:06 +01:00
m-holger
73023bcb5d
Change sparse_array test to test sparse QPDF_Arrays
2023-04-01 13:56:37 +01:00
m-holger
4ee6ff0a73
Add new procedure QUtil::read_file_into_string
2023-03-08 21:00:26 +00:00
m-holger
d3152869b6
In JSONParser::getToken handle structural and space chars early
2023-02-04 15:00:21 +00:00
m-holger
ee32235f54
In JSONParser::getToken handle legal control chars early
...
Also, reject them in strings.
2023-02-04 15:00:21 +00:00
m-holger
5ac6a12e0a
In JSONParser::getToken reject illegal control characters
2023-02-04 14:55:49 +00:00
m-holger
0de032bcdd
In JSONParser::handleToken simplify setting of start and end
2023-02-04 13:53:22 +00:00
m-holger
83f972ceda
Refactor end of input handling in JSONParser
2023-02-01 14:18:57 +00:00
m-holger
6ea543e6c7
In JSONParser add lex_state ls_number_e_sign
2023-02-01 14:12:32 +00:00
m-holger
cdd1f0a9f6
In JSONParser add lex_state ls_number_point
...
Also. remove '.' as starting char in lsTop.
2023-02-01 14:01:57 +00:00
m-holger
08e768909d
In JSONParser add lex_state ls_number_leading_zero
2023-02-01 14:01:57 +00:00
m-holger
cba1c352e3
In JSONParser add lex_state ls_number_minus
2023-02-01 14:01:57 +00:00