]> git.eshelyaron.com Git - emacs.git/commit
Replace libjansson JSON parser with a custom one
authorGéza Herman <geza.herman@gmail.com>
Wed, 6 Mar 2024 12:14:50 +0000 (13:14 +0100)
committerEshel Yaron <me@eshelyaron.com>
Sat, 30 Mar 2024 19:36:45 +0000 (20:36 +0100)
commit406c4c217a415de25e90927e1b1311ae1f36c011
treeeeb25043f1940047ef603453f8ed19cae3ce6a40
parentf83e9f443559b15cfb47d3b421df8f7650ea7cfd
Replace libjansson JSON parser with a custom one

* src/json.c (json_parse_error, json_to_lisp)
(json_read_buffer_callback): Remove functions.
(struct json_parser): New struct.
(json_signal_error, json_parser_init, json_parser_done)
(json_make_object_workspace_for_slow_path)
(json_make_object_workspace_for, json_byte_workspace_reset)
(json_byte_workspace_put_slow_path, json_byte_workspace_put)
(json_input_at_eof, json_input_switch_to_secondary)
(json_input_get_slow_path, json_input_get)
(json_input_get_if_possible, json_input_put_back)
(json_skip_whitespace_internal, json_skip_whitespace)
(json_skip_whitespace_if_possible, json_hex_value)
(json_parse_unicode, json_handle_utf8_tail_bytes)
(json_parse_string, json_create_integer, json_create_float)
(json_parse_number, json_parse_array)
(json_parse_object_member_value, json_parse_object)
(json_is_token_char, json_parse_value, json_parse): New functions.
(Fjson_parse_buffer, Fjson_parse_string): Adjust to changes in the
parser.
(syms_of_json): DEFSYM new symbols and define_error new errors.

(cherry picked from commit a5df4d92e37a176396577ac901b85025a6952376)
src/json.c