m-holger
|
9e90007a4a
|
Add new private class JSON::Writer
Create a simple utility class for writing JSON to a pipeline.
|
2024-02-16 10:32:41 +00:00 |
|
Jay Berkenbilt
|
b1b789df42
|
Detect end of input inside an unfinished JSON string
|
2024-02-06 15:30:29 -05:00 |
|
Jay Berkenbilt
|
7ae095fa09
|
Fix JSON parser error found by fuzz
|
2024-02-04 17:27:49 -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 |
|
m-holger
|
5906dd5c1f
|
Code tidy - Clang-Tidy rule modernize-use-default-member-init
|
2023-06-09 15:43:21 +01:00 |
|
m-holger
|
7bc0f1d828
|
Code tidy - Clang-Tidy rule modernize-use-emplace
|
2023-06-09 15:42:11 +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
|
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
|
2fa581537b
|
Use auto when initializing with a cast
|
2023-05-20 15:41:44 +01:00 |
|
m-holger
|
0795b6952b
|
Add new function QUtil::hex_decode_char
|
2023-03-23 20:23:37 +00: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
|
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
|
d80b63c3c0
|
Refactor JSON type checks
|
2023-02-11 15:44:03 -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 |
|