m-holger
|
fe74f28dc4
|
Refactor QPDFValue::setDefaultDescription
|
2023-02-18 08:33:08 +00:00 |
|
m-holger
|
f989de1bd7
|
Remove restriction that only owned objects can have descriptions
|
2023-02-18 08:33:08 +00:00 |
|
m-holger
|
32907fc14c
|
Change type of QPDFValue::object_description to std::shared_ptr<std::variant>
Also, name the type QPDFValue::Description.
|
2023-02-18 08:33:08 +00:00 |
|
m-holger
|
d58ec90310
|
Un-inline QPDFValue::getDescription
|
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
|
deb1c33086
|
Replace strchr in QPDF_Name::normalizeName
|
2023-02-05 08:29:21 -05:00 |
|
m-holger
|
3ee552fec5
|
Replace strchr in QPDFTokenizer::is_delimiter
|
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
|
f6c9019597
|
Add new methods JSONParser::append and ignore
Reduce boilerplate and increase efficiency by avoiding setting and
branching on action and ready in getToken.
|
2023-02-05 12:44:38 +00:00 |
|
m-holger
|
415e67951b
|
Refactor JSON::encode_string
|
2023-02-04 15:06:43 -05: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
|
f5b7448a27
|
Extend scope of JSONParser::numberError and rename tokenError
Handle all incomplete token type errors in tokenError.
|
2023-02-04 14:55:49 +00:00 |
|
m-holger
|
5ac6a12e0a
|
In JSONParser::getToken reject illegal control characters
|
2023-02-04 14:55:49 +00:00 |
|
m-holger
|
1b89e7684e
|
Remove redundant template toO in JSON
|
2023-02-04 14:06:26 +00:00 |
|
m-holger
|
98d9ae51fc
|
Integrate JSONParser::decode_string into getToken
|
2023-02-04 14:06:26 +00:00 |
|
m-holger
|
320245e0d1
|
In JSONParser::getToken decode escaped chars inside state ls_backslash
(except '\\' and '\uXXXX')
|
2023-02-04 14:06:26 +00:00 |
|
m-holger
|
cee746fc15
|
In JSONParser::getToken avoid copying '"' characters in strings
|
2023-02-04 14:06:26 +00:00 |
|
m-holger
|
a9a0667904
|
Make JSONParser::getToken responsible for decoding strings
|
2023-02-04 14:06:26 +00:00 |
|
m-holger
|
126dd31cad
|
In JSONParser combine stacks
|
2023-02-04 13:53:23 +00:00 |
|
m-holger
|
6748bd33f7
|
In JSONParser::handleToken remove next_state
|
2023-02-04 13:53:23 +00:00 |
|
m-holger
|
29093a167b
|
In JSONParser::handleToken refactor container creation
|
2023-02-04 13:53:23 +00:00 |
|
m-holger
|
a39043f65e
|
In JSONParser::handleToken avoid creating JSON objects for dictionary keys
|
2023-02-04 13:53:23 +00:00 |
|
m-holger
|
f2e46c20b6
|
In JSONParser::handleToken move remaining validations into second switch statement
|
2023-02-04 13:53:23 +00:00 |
|
m-holger
|
0de032bcdd
|
In JSONParser::handleToken simplify setting of start and end
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
77ceebd6c9
|
In JSONParser::handleToken move processing for ls_end_array and ls_end_dict into switch statement
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
a7338ab15a
|
In JSONParser::handleToken move processing for ls_colon and ls_comma into switch statement
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
4dba3c95dd
|
In JSONParser::handleToken move validation for ls_colon etc into switch statement
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
6f94a3a89a
|
In JSONParser::handleToken move string decoding into switch statement
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
fcc123a62a
|
Avoid copying delimiters in JSONParser::getToken
|
2023-02-04 13:53:22 +00:00 |
|
m-holger
|
bb89a60320
|
Add data member JSONParser::token_start
|
2023-02-04 13:52:55 +00:00 |
|
m-holger
|
39dfd305c8
|
In JSONParser add lexer states for delimiters
|
2023-02-04 13:44:39 +00:00 |
|
m-holger
|
1e0ab79aec
|
Remove redundant JSONParser::before_point etc
|
2023-02-01 14:19:08 +00:00 |
|
m-holger
|
83f972ceda
|
Refactor end of input handling in JSONParser
|
2023-02-01 14:18:57 +00:00 |
|
m-holger
|
8fd6e1c5b2
|
Refactor handling of ls_number in JSONParser::getToken
Reflect that the ls_number case only handles the digits after an 'e'.
Also, change state to ls_number for all 'ready' numbers.
|
2023-02-01 14:18:39 +00:00 |
|
m-holger
|
6ea543e6c7
|
In JSONParser add lex_state ls_number_e_sign
|
2023-02-01 14:12:32 +00:00 |
|
m-holger
|
04333bbc20
|
In JSONParser add lex_state ls_number_e
Also, allow 'E' as alternative to 'e'.
|
2023-02-01 14:09:39 +00:00 |
|
m-holger
|
972ebca505
|
In JSONParser add lex_state ls_number_after_point
|
2023-02-01 14:01:57 +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
|
bfda62aeeb
|
In JSONParser add lex_state ls_number_before_point
|
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 |
|
m-holger
|
b6b4d3b299
|
Add new method JSONParser::numberError
|
2023-02-01 14:01:57 +00:00 |
|
m-holger
|
1787d85096
|
Refactor JSON::addDictionaryMember
|
2023-01-28 14:49:37 -05:00 |
|
m-holger
|
dce43d4f7f
|
Refactor JSON::JSON_string::write
|
2023-01-28 14:49:32 -05:00 |
|
m-holger
|
4c914aee96
|
Refactor JSON::writeDictionaryKey
|
2023-01-28 14:49:32 -05:00 |
|
m-holger
|
3dde66ddcd
|
Refactor JSON::writeNext
|
2023-01-28 14:49:32 -05:00 |
|
m-holger
|
dfa7d414f5
|
Refactor JSON::writeClose
|
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 |
|
Jay Berkenbilt
|
e4e0f40fc0
|
Fix annotations properly for page with no /Resources (fixes #827)
|
2023-01-09 07:31:39 -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
|
9c216a06d9
|
Tune QPDFWriter::enqueueObject
|
2023-01-08 13:33:10 -05:00 |
|
m-holger
|
60538f1958
|
Change QPDFParser::parse to use QPDFTokenizer::nextToken
|
2023-01-07 15:24:51 -05:00 |
|
m-holger
|
863d95e567
|
Add new method QPDFTokenizer::nextToken
|
2023-01-07 15:24:51 -05:00 |
|
m-holger
|
a07d2b4190
|
Only build QPDFTokenizer::val for name and string tokens
For all other token types val and raw_val are identical.
|
2023-01-07 15:24:51 -05:00 |
|
m-holger
|
59191ebbc4
|
Tune QPDFWriter::unparseObject
|
2023-01-07 13:27:17 -05:00 |
|
m-holger
|
942a2c3f68
|
Add new function QUtil::hex_encode_char
|
2023-01-06 18:42:12 -05:00 |
|
m-holger
|
1326ff7f79
|
Inline QPDFObjectHandle::dereference
|
2023-01-02 14:15:16 -05:00 |
|
m-holger
|
d7b470761b
|
Remove QPDFObjectHandle::Factory and ObjAccessor
|
2022-12-31 19:16:38 -05:00 |
|
m-holger
|
3f567ae02d
|
Refactor dictionary processing loop in QPDFParser::parse
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
d67a54ae93
|
Tune parsing of dictionaries in QPDFParser::parse
Use move semantics for dictionary creation.
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
846504129f
|
Remove redundant parameter qpdf from QPDFParser::warn
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
b19e06fd8b
|
Change QPDFParser::setDescription to take a shared_ptr<QPDFObject> parameter
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
8391022416
|
Avoid inserting direct null objects into olist
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
9da50ca360
|
Change olist variable in QPDFParser::parse to vector<shared_ptr<QPDFObject>>
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
e91e642cf3
|
Change object variable in QPDFParser::parse to shared_ptr<QPDFObject>
|
2022-12-31 14:37:35 -05:00 |
|
m-holger
|
ec35156ab0
|
Refactor QPDFValue::getDescription
Remove parameters and return the description.
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
0ef2def8ad
|
Delay adding offsets to object descriptions until necessary
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
c833c25499
|
Delay adding ObjGen to object descriptions until necessary
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
e684d8169b
|
Make QPDFValue::object_description a shared pointer
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
218f069a69
|
Add new method QPDFObject::setDefaultDescription
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
d03ca88275
|
Refactor QPDFParser::setDescriptionFromInput and rename to setDescription
Set parsed offset at the same time as setting description.
|
2022-12-31 10:23:59 -05:00 |
|
m-holger
|
6cbc55a5b5
|
Add new virtual method QPDFObject::getStringValue
Avoid dynamic casting.
|
2022-12-31 09:31:07 -05:00 |
|
m-holger
|
0ca44ef84c
|
Fix QPDFObjectHandle::isScalar
Exclude uninitialized, destroyed and reserved objects.
|
2022-12-31 09:27:19 -05:00 |
|
m-holger
|
383f5a0077
|
Refactor QPDFWriter::enqueueObject
Move test for m->linearized outside loop.
|
2022-12-31 09:22:45 -05:00 |
|
m-holger
|
2693a082ab
|
Fix check for direct nulls in QPDFParser::parse
|
2022-12-15 13:07:42 -05:00 |
|
m-holger
|
cfcb279e49
|
Alternative fix logic for fixDanglingReferences
|
2022-12-06 15:21:34 -05:00 |
|
Jay Berkenbilt
|
ff42ea4e6c
|
Fix logic for fixDanglingReferences
|
2022-11-26 18:13:46 -05:00 |
|
m-holger
|
3f632458ae
|
Refactor QPDF::fixDanglingReferences
|
2022-11-26 16:26:42 -05:00 |
|
Jay Berkenbilt
|
562ff1b608
|
Rename function for pikepdf (for 11.2.0)
A new private overload of QPDF::makeIndirectObject breaks pikepdf's
build, so renaming function.
|
2022-11-20 16:04:58 -05:00 |
|
m-holger
|
4325e6e4a7
|
Refactor QPDFObjectHandle::copyObject and rename to makeDirect
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
585ecf17c8
|
Remove redundant parameter cross_indirect from QPDFObjectHandle::copyObject
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
ebc15f4dd0
|
Remove redundant parameter first_level_only from QPDFObjectHandle::copyObject
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
64059014c9
|
Refactor QPDFObjectHandle::shallowCopy
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
b1eb1a9584
|
Refactor QPDFObjectHandle::copyObject1
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
3e3b79a774
|
Remove redundant parameter first_level_only from QPDFObjectHandle::shallowCopyInternal2 and copyObject2
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
3efd665703
|
Remove redundant parameters cross_indirect and stop_atstreams from QPDFObjectHandle::copyObject1
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
d7b8525235
|
Refactor QPDFObjectHandle::unsafeShallowCopy
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
0289b21c3b
|
Remove redundant QPDFObjectHandle::copyObject2
copyObject2 repeats a second time what
new_obj = QPDFObjectHandle(obj->copy(true))
in shallowCopyInternal2 already did.
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
15e8d3a763
|
Remove redundant parameter first_level_only from QPDFObjectHandle::shallowCopyInternal2 and copyObject2
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
0827b1096e
|
Remove redundant parameters cross_indirect and stop_atstreams from QPDFObjectHandle::copyObject2
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
63d1dcb414
|
Split QPDFObjectHandle::shallowCopyInternal and copyObject
Have separate versions for unsafeShallowCopy, shallowCopy and makeDirect.
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
dbc5f07b90
|
Rename QPDFObject::shallowCopy to copy
Add optional parameter shallow. Change logic errors to runtime errors.
|
2022-11-20 12:07:22 -05:00 |
|
m-holger
|
34a6f8938f
|
Add methods QPDFTokenizer::Token::isWord
|
2022-11-20 11:55:02 -05:00 |
|
m-holger
|
dca70f13e7
|
Add method QPDFTokenizer::Token::isInteger
|
2022-11-20 11:55:02 -05:00 |
|