Age | Commit message (Expand) | Author | Files | Lines |
2019-08-21 | json: Move switch 'fall through' comment to correct place | Philippe Mathieu-Daudé | 1 | -1/+1 |
2019-06-11 | qemu-common: Move qemu_isalnum() etc. to qemu/ctype.h | Markus Armbruster | 1 | -1/+1 |
2019-03-26 | json: Fix off-by-one assert check in next_state() | Liam Merwick | 1 | -1/+1 |
2019-01-24 | json: Fix % handling when not interpolating | Christophe Fergeau | 1 | -4/+6 |
2018-12-13 | json: Fix to reject duplicate object member names | Markus Armbruster | 1 | -0/+5 |
2018-10-26 | qobject: Catch another straggler for use of qdict_put_str() | Philippe Mathieu-Daudé | 1 | -1/+1 |
2018-09-24 | json: Eliminate lexer state IN_WHITESPACE, pseudo-token JSON_SKIP | Markus Armbruster | 2 | -18/+5 |
2018-09-24 | json: Eliminate lexer state IN_ERROR | Markus Armbruster | 2 | -8/+9 |
2018-09-24 | json: Nicer recovery from lexical errors | Markus Armbruster | 1 | -14/+29 |
2018-09-24 | json: Make lexer's "character consumed" logic less confusing | Markus Armbruster | 2 | -11/+17 |
2018-09-24 | json: Clean up how lexer consumes "end of input" | Markus Armbruster | 1 | -8/+9 |
2018-09-24 | json: Fix lexer for lookahead character beyond '\x7F' | Markus Armbruster | 1 | -1/+1 |
2018-08-24 | json: Update references to RFC 7159 to RFC 8259 | Markus Armbruster | 1 | -1/+1 |
2018-08-24 | json: Support %% in JSON strings when interpolating | Markus Armbruster | 1 | -1/+2 |
2018-08-24 | json: Improve safety of qobject_from_jsonf_nofail() & friends | Markus Armbruster | 1 | -2/+10 |
2018-08-24 | json: Keep interpolation state in JSONParserContext | Markus Armbruster | 1 | -29/+30 |
2018-08-24 | json: Clean up headers | Markus Armbruster | 5 | -9/+58 |
2018-08-24 | qobject: Drop superfluous includes of qemu-common.h | Markus Armbruster | 8 | -8/+0 |
2018-08-24 | json: Make JSONToken opaque outside json-parser.c | Markus Armbruster | 2 | -7/+20 |
2018-08-24 | json: Unbox tokens queue in JSONMessageParser | Markus Armbruster | 2 | -20/+11 |
2018-08-24 | json: Streamline json_message_process_token() | Markus Armbruster | 1 | -8/+5 |
2018-08-24 | json: Enforce token count and size limits more tightly | Markus Armbruster | 1 | -18/+18 |
2018-08-24 | qjson: Have qobject_from_json() & friends reject empty and blank | Markus Armbruster | 1 | -0/+4 |
2018-08-24 | json: Assert json_parser_parse() consumes all tokens on success | Markus Armbruster | 1 | -0/+1 |
2018-08-24 | json: Fix streamer not to ignore trailing unterminated structures | Markus Armbruster | 2 | -0/+10 |
2018-08-24 | json: Fix latent parser aborts at end of input | Markus Armbruster | 1 | -2/+0 |
2018-08-24 | qjson: Fix qobject_from_json() & friends for multiple values | Markus Armbruster | 1 | -1/+14 |
2018-08-24 | json: Improve names of lexer states related to numbers | Markus Armbruster | 1 | -17/+17 |
2018-08-24 | json: Replace %I64d, %I64u by %PRId64, %PRIu64 | Markus Armbruster | 1 | -4/+6 |
2018-08-24 | json: Leave rejecting invalid interpolation to parser | Markus Armbruster | 2 | -38/+7 |
2018-08-24 | json: Pass lexical errors and limit violations to callback | Markus Armbruster | 2 | -8/+17 |
2018-08-24 | json: Treat unwanted interpolation as lexical error | Markus Armbruster | 3 | -17/+19 |
2018-08-24 | json: Rename token JSON_ESCAPE & friends to JSON_INTERP | Markus Armbruster | 2 | -36/+36 |
2018-08-24 | json: Don't create JSON_ERROR tokens that won't be used | Markus Armbruster | 1 | -4/+2 |
2018-08-24 | json: Don't pass null @tokens to json_parser_parse() | Markus Armbruster | 2 | -17/+12 |
2018-08-24 | json: Redesign the callback to consume JSON values | Markus Armbruster | 3 | -23/+17 |
2018-08-24 | json: Have lexer call streamer directly | Markus Armbruster | 2 | -8/+11 |
2018-08-24 | json-parser: simplify and avoid JSONParserContext allocation | Marc-André Lureau | 1 | -32/+9 |
2018-08-24 | json: remove useless return value from lexer/parser | Marc-André Lureau | 2 | -19/+12 |
2018-08-24 | json: Fix \uXXXX for surrogate pairs | Markus Armbruster | 1 | -21/+39 |
2018-08-24 | json: Reject invalid \uXXXX, fix \u0000 | Markus Armbruster | 1 | -29/+6 |
2018-08-24 | json: Simplify parse_string() | Markus Armbruster | 1 | -23/+19 |
2018-08-24 | json: Leave rejecting invalid escape sequences to parser | Markus Armbruster | 2 | -91/+37 |
2018-08-24 | json: Accept overlong \xC0\x80 as U+0000 ("modified UTF-8") | Markus Armbruster | 2 | -2/+2 |
2018-08-24 | json: Leave rejecting invalid UTF-8 to parser | Markus Armbruster | 1 | -4/+2 |
2018-08-24 | json: Report first rather than last parse error | Markus Armbruster | 1 | -4/+4 |
2018-08-24 | json: Reject invalid UTF-8 sequences | Markus Armbruster | 1 | -6/+14 |
2018-08-24 | json: Tighten and simplify qstring_from_escaped_str()'s loop | Markus Armbruster | 1 | -23/+7 |
2018-08-24 | json: Revamp lexer documentation | Markus Armbruster | 1 | -9/+71 |
2018-08-24 | json: Reject unescaped control characters | Markus Armbruster | 1 | -2/+2 |
2018-08-24 | json: Fix lexer to include the bad character in JSON_ERROR token | Markus Armbruster | 1 | -2/+2 |
2018-08-16 | Merge remote-tracking branch 'remotes/armbru/tags/pull-tests-2018-08-16' into... | Peter Maydell | 1 | -8/+55 |
2018-08-16 | qobject: qobject_from_jsonv() is dangerous, hide it away | Markus Armbruster | 1 | -1/+12 |
2018-08-16 | qobject: New qobject_from_vjsonf_nofail(), qdict_from_vjsonf_nofail() | Markus Armbruster | 1 | -7/+37 |
2018-08-16 | qobject: Replace qobject_from_jsonf() by qobject_from_jsonf_nofail() | Markus Armbruster | 1 | -1/+7 |
2018-08-15 | qdict: Make qdict_extract_subqdict() accept dst = NULL | Alberto Garcia | 1 | -3/+8 |
2018-07-28 | qstring: Move qstring_from_substr()'s @end one to the right | Markus Armbruster | 1 | -3/+3 |
2018-07-28 | qstring: Assert size calculations don't overflow | Markus Armbruster | 1 | -1/+5 |
2018-07-28 | qstring: Fix qstring_from_substr() not to provoke int overflow | liujunjie | 1 | -1/+1 |
2018-07-03 | qobject: Let qobject_from_jsonf() fail instead of abort | Markus Armbruster | 1 | -5/+0 |
2018-07-03 | qobject: New qdict_from_jsonf_nofail() | Markus Armbruster | 1 | -0/+18 |
2018-06-29 | block-qdict: Pacify Coverity after commit f1b34a248e9 | Markus Armbruster | 1 | -8/+8 |
2018-06-22 | qdict: Make qdict_flatten() shallow-clone-friendly | Max Reitz | 1 | -4/+15 |
2018-06-15 | block: Fix -blockdev / blockdev-add for empty objects and arrays | Markus Armbruster | 1 | -21/+33 |
2018-06-15 | block-qdict: Simplify qdict_is_list() some | Markus Armbruster | 1 | -16/+11 |
2018-06-15 | block-qdict: Clean up qdict_crumple() a bit | Markus Armbruster | 1 | -16/+16 |
2018-06-15 | block-qdict: Tweak qdict_flatten_qdict(), qdict_flatten_qlist() | Markus Armbruster | 1 | -5/+9 |
2018-06-15 | block-qdict: Simplify qdict_flatten_qdict() | Markus Armbruster | 1 | -15/+3 |
2018-06-15 | block: Factor out qobject_input_visitor_new_flat_confused() | Markus Armbruster | 1 | -1/+27 |
2018-06-15 | block: Fix -blockdev for certain non-string scalars | Markus Armbruster | 1 | -0/+57 |
2018-06-15 | qobject: Move block-specific qdict code to block-qdict.c | Markus Armbruster | 3 | -629/+641 |
2018-06-15 | block: Add block-specific QDict header | Max Reitz | 1 | -0/+1 |
2018-05-04 | qobject: Modify qobject_ref() to return obj | Marc-André Lureau | 1 | -22/+11 |
2018-05-04 | qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF | Marc-André Lureau | 4 | -27/+27 |
2018-05-04 | qobject: use a QObjectBase_ struct | Marc-André Lureau | 1 | -6/+6 |
2018-05-04 | qobject: Ensure base is at offset 0 | Marc-André Lureau | 1 | -0/+9 |
2018-03-19 | qobject: introduce qobject_get_try_str() | Peter Xu | 1 | -0/+11 |
2018-03-19 | qobject: introduce qstring_get_try_str() | Peter Xu | 1 | -0/+10 |
2018-03-19 | qapi: Make more of qobject_to() | Max Reitz | 2 | -15/+18 |
2018-03-19 | qapi: Remove qobject_to_X() functions | Max Reitz | 5 | -55/+0 |
2018-03-19 | qapi: Replace qobject_to_X(o) by qobject_to(X, o) | Max Reitz | 8 | -41/+41 |
2018-03-19 | qlit: add qobject_from_qlit() | Marc-André Lureau | 1 | -0/+37 |
2018-03-09 | qdict: Introduce qdict_rename_keys() | Kevin Wolf | 1 | -0/+34 |
2018-02-09 | Include qapi/qmp/qstring.h exactly where needed | Markus Armbruster | 1 | -0/+1 |
2018-02-09 | Include qapi/qmp/qdict.h exactly where needed | Markus Armbruster | 2 | -0/+2 |
2018-02-09 | Include qapi/qmp/qlist.h exactly where needed | Markus Armbruster | 5 | -0/+5 |
2018-02-09 | Include qapi/qmp/qobject.h exactly where needed | Markus Armbruster | 5 | -5/+0 |
2018-02-09 | qdict qlist: Make most helper macros functions | Markus Armbruster | 6 | -0/+51 |
2018-02-09 | Eliminate qapi/qmp/types.h | Markus Armbruster | 4 | -4/+9 |
2018-02-09 | Include qapi/error.h exactly where needed | Markus Armbruster | 1 | -1/+0 |
2017-11-17 | qapi: Add qobject_is_equal() | Max Reitz | 7 | -0/+170 |
2017-11-17 | qapi/qnull: Add own header | Max Reitz | 1 | -1/+1 |
2017-09-04 | qlit: Tighten QLit list vs QList comparison | Marc-André Lureau | 1 | -34/+19 |
2017-09-04 | qlit: Tighten QLit dict vs QDict comparison | Marc-André Lureau | 1 | -14/+23 |
2017-09-04 | qlit: Replace open-coded qnum_get_int() by call | Marc-André Lureau | 1 | -4/+1 |
2017-09-04 | qlit: add QLIT_QNULL and QLIT_BOOL | Marc-André Lureau | 1 | -0/+4 |
2017-09-04 | qlit: make qlit_equal_qobject() take const arguments | Marc-André Lureau | 1 | -1/+1 |
2017-09-04 | qlit: make qlit_equal_qobject return a bool | Marc-André Lureau | 1 | -9/+9 |
2017-09-04 | qlit: rename compare_litqobj_to_qobj() to qlit_equal_qobject() | Marc-André Lureau | 1 | -3/+3 |
2017-09-04 | qlit: use QLit prefix consistently | Marc-André Lureau | 1 | -2/+2 |
2017-09-04 | qlit: move qlit from check-qjson to qobject/ | Marc-André Lureau | 2 | -1/+90 |
2017-07-24 | qapi: Separate type QNull from QObject | Markus Armbruster | 2 | -4/+6 |
2017-06-20 | json: learn to parse uint64 numbers | Marc-André Lureau | 2 | -8/+32 |
2017-06-20 | qnum: add uint type | Marc-André Lureau | 1 | -0/+64 |
2017-06-20 | qapi: merge QInt and QFloat in QNum | Marc-André Lureau | 8 | -197/+194 |
2017-05-09 | qobject: Use simpler QDict/QList scalar insertion macros | Eric Blake | 1 | -1/+1 |
2017-03-07 | qobject: Propagate parse errors through qobject_from_json() | Markus Armbruster | 1 | -2/+2 |
2017-03-07 | qjson: Abort earlier on qobject_from_jsonf() misuse | Markus Armbruster | 1 | -1/+1 |
2017-03-07 | qobject: Propagate parse errors through qobject_from_jsonv() | Markus Armbruster | 1 | -4/+8 |
2017-02-24 | Merge remote-tracking branch 'remotes/armbru/tags/pull-util-2017-02-23' into ... | Peter Maydell | 1 | -1/+1 |
2017-02-23 | util/cutils: Rename qemu_strtoll(), qemu_strtoull() | Markus Armbruster | 1 | -1/+1 |
2017-02-22 | qdict: Make qdict_get_qlist() safe like qdict_get_qdict() | Markus Armbruster | 1 | -27/+3 |
2016-10-25 | qdict: implement a qdict_crumple method for un-flattening a dict | Daniel P. Berrange | 1 | -0/+277 |
2016-07-12 | json-streamer: fix double-free on exiting during a parse | Paolo Bonzini | 1 | -2/+6 |
2016-07-06 | qapi: Improve use of qmp/types.h | Eric Blake | 3 | -17/+3 |
2016-06-30 | qobject: Correct JSON lexer grammar comments | Eric Blake | 1 | -5/+14 |
2016-06-30 | json-streamer: Don't leak tokens on incomplete parse | Eric Blake | 1 | -0/+6 |
2016-06-20 | coccinelle: Remove unnecessary variables for function return value | Eduardo Habkost | 1 | -4/+1 |
2016-05-18 | qdict: fix unbounded stack warning for qdict_array_entries | Peter Xu | 1 | -9/+6 |
2016-03-22 | util: move declarations out of qemu-common.h | Veronia Bahaa | 3 | -1/+2 |
2016-03-22 | include/qemu/osdep.h: Don't include qapi/error.h | Markus Armbruster | 1 | -0/+1 |
2016-02-08 | qobject: Document more shortcomings in our number handling | Eric Blake | 2 | -3/+14 |
2016-02-04 | qobject: Clean up includes | Peter Maydell | 12 | -2/+12 |
2015-12-17 | qapi: Convert QType into QAPI built-in enum type | Eric Blake | 1 | -2/+2 |
2015-12-17 | qobject: Rename qtype_code to QType | Eric Blake | 1 | -2/+1 |
2015-12-17 | qobject: Simplify QObject | Eric Blake | 9 | -66/+48 |
2015-11-26 | qjson: Limit number of tokens in addition to total size | Markus Armbruster | 1 | -0/+2 |
2015-11-26 | qjson: surprise, allocating 6 QObjects per token is expensive | Paolo Bonzini | 2 | -78/+56 |
2015-11-26 | qjson: store tokens in a GQueue | Paolo Bonzini | 3 | -56/+36 |
2015-11-26 | qjson: Convert to parser to recursive descent | Markus Armbruster | 1 | -118/+47 |
2015-11-26 | qjson: replace QString in JSONLexer with GString | Paolo Bonzini | 2 | -18/+13 |
2015-11-26 | qjson: Inline token_is_escape() and simplify | Markus Armbruster | 1 | -17/+15 |
2015-11-26 | qjson: Inline token_is_keyword() and simplify | Markus Armbruster | 1 | -13/+7 |
2015-11-26 | qjson: Give each of the six structural chars its own token type | Markus Armbruster | 3 | -46/+36 |
2015-11-26 | qjson: Spell out some silent assumptions | Markus Armbruster | 1 | -1/+6 |
2015-11-26 | qjson: Don't crash when input exceeds nesting limit | Markus Armbruster | 1 | -2/+3 |
2015-11-26 | qjson: Apply nesting limit more sanely | Markus Armbruster | 1 | -2/+1 |
2015-10-29 | qstring: Make conversion from QObject * accept null | Markus Armbruster | 2 | -10/+5 |
2015-10-29 | qlist: Make conversion from QObject * accept null | Markus Armbruster | 1 | -2/+1 |
2015-10-29 | qfloat qint: Make conversion from QObject * accept null | Markus Armbruster | 3 | -12/+7 |
2015-10-29 | qdict: Make conversion from QObject * accept null | Markus Armbruster | 1 | -3/+3 |
2015-10-29 | qbool: Make conversion from QObject * accept null | Markus Armbruster | 2 | -10/+5 |
2015-06-22 | Include qapi/qmp/qerror.h exactly where needed | Markus Armbruster | 1 | -1/+0 |
2015-06-22 | qerror: Finally unused, clean up | Markus Armbruster | 3 | -152/+0 |
2015-06-22 | qobject: Use 'bool' inside qdict | Eric Blake | 1 | -2/+2 |
2015-06-22 | qobject: Use 'bool' for qbool | Eric Blake | 4 | -10/+10 |
2015-06-12 | qdict: Add qdict_{set,copy}_default() | Kevin Wolf | 1 | -0/+33 |
2015-06-12 | qdict: Add qdict_array_entries() | Kevin Wolf | 1 | -4/+74 |
2015-05-11 | json-parser: Accept 'null' in QMP | Eric Blake | 1 | -0/+2 |
2015-05-11 | qobject: Add a special null QObject | Markus Armbruster | 3 | -1/+33 |
2015-05-11 | qobject: Clean up around qtype_code | Markus Armbruster | 1 | -2/+1 |
2014-12-10 | qjson: Drop trailing space for pretty formatting | Max Reitz | 1 | -4/+6 |
2014-06-23 | json-lexer: fix escaped backslash in single-quoted string | Paolo Bonzini | 1 | -2/+2 |
2014-06-11 | json-parser: drop superfluous assignment for token variable | Gonglei | 1 | -13/+2 |
2014-05-19 | qdict: Add qdict_join() | Max Reitz | 1 | -0/+32 |
2014-04-25 | qerror.h: Remove QERR defines that are only used once | Cole Robinson | 1 | -1/+1 |
2014-02-21 | qdict: Extract non-QDicts in qdict_array_split() | Max Reitz | 1 | -14/+46 |
2014-01-22 | qapi: extend qdict_flatten() for QLists | Max Reitz | 1 | -6/+48 |
2014-01-22 | qdict: Add qdict_array_split() | Max Reitz | 1 | -0/+37 |
2014-01-06 | qerror: Remove assert_no_error() | Peter Crosthwaite | 1 | -8/+0 |
2013-12-06 | Merge remote-tracking branch 'kwolf/tags/for-anthony' into staging | Anthony Liguori | 1 | -4/+10 |
2013-12-02 | qobject: Fix compiler warning (missing gnu_printf format attribute) | Stefan Weil | 1 | -2/+2 |
2013-11-29 | qdict: Optimise qdict_do_flatten() | Kevin Wolf | 1 | -3/+7 |
2013-11-29 | qdict: Fix memory leak in qdict_do_flatten() | Kevin Wolf | 1 | -1/+3 |
2013-09-25 | qdict: Extract qdict_extract_subqdict | Benoît Canet | 1 | -0/+21 |
2013-07-26 | Implement qdict_flatten() | Kevin Wolf | 1 | -0/+51 |
2013-07-26 | qapi: Anonymous unions | Kevin Wolf | 1 | -0/+2 |
2013-05-23 | json-parser: fix handling of large whole number values | Michael Roth | 1 | -3/+23 |
2013-04-13 | qjson: to_json() case QTYPE_QSTRING is buggy, rewrite | Markus Armbruster | 1 | -57/+45 |
2013-04-05 | qstring: add qstring_get_length() | Luiz Capitulino | 1 | -0/+8 |
2013-03-15 | Add qdict_clone_shallow() | Kevin Wolf | 1 | -0/+22 |
2013-01-12 | build: move qobject files to qobject/ and libqemuutil.a | Paolo Bonzini | 12 | -0/+2622 |