aboutsummaryrefslogtreecommitdiffstats
path: root/qobject
AgeCommit message (Expand)AuthorFilesLines
2019-08-21json: Move switch 'fall through' comment to correct placePhilippe Mathieu-Daudé1-1/+1
2019-06-11qemu-common: Move qemu_isalnum() etc. to qemu/ctype.hMarkus Armbruster1-1/+1
2019-03-26json: Fix off-by-one assert check in next_state()Liam Merwick1-1/+1
2019-01-24json: Fix % handling when not interpolatingChristophe Fergeau1-4/+6
2018-12-13json: Fix to reject duplicate object member namesMarkus Armbruster1-0/+5
2018-10-26qobject: Catch another straggler for use of qdict_put_str()Philippe Mathieu-Daudé1-1/+1
2018-09-24json: Eliminate lexer state IN_WHITESPACE, pseudo-token JSON_SKIPMarkus Armbruster2-18/+5
2018-09-24json: Eliminate lexer state IN_ERRORMarkus Armbruster2-8/+9
2018-09-24json: Nicer recovery from lexical errorsMarkus Armbruster1-14/+29
2018-09-24json: Make lexer's "character consumed" logic less confusingMarkus Armbruster2-11/+17
2018-09-24json: Clean up how lexer consumes "end of input"Markus Armbruster1-8/+9
2018-09-24json: Fix lexer for lookahead character beyond '\x7F'Markus Armbruster1-1/+1
2018-08-24json: Update references to RFC 7159 to RFC 8259Markus Armbruster1-1/+1
2018-08-24json: Support %% in JSON strings when interpolatingMarkus Armbruster1-1/+2
2018-08-24json: Improve safety of qobject_from_jsonf_nofail() & friendsMarkus Armbruster1-2/+10
2018-08-24json: Keep interpolation state in JSONParserContextMarkus Armbruster1-29/+30
2018-08-24json: Clean up headersMarkus Armbruster5-9/+58
2018-08-24qobject: Drop superfluous includes of qemu-common.hMarkus Armbruster8-8/+0
2018-08-24json: Make JSONToken opaque outside json-parser.cMarkus Armbruster2-7/+20
2018-08-24json: Unbox tokens queue in JSONMessageParserMarkus Armbruster2-20/+11
2018-08-24json: Streamline json_message_process_token()Markus Armbruster1-8/+5
2018-08-24json: Enforce token count and size limits more tightlyMarkus Armbruster1-18/+18
2018-08-24qjson: Have qobject_from_json() & friends reject empty and blankMarkus Armbruster1-0/+4
2018-08-24json: Assert json_parser_parse() consumes all tokens on successMarkus Armbruster1-0/+1
2018-08-24json: Fix streamer not to ignore trailing unterminated structuresMarkus Armbruster2-0/+10
2018-08-24json: Fix latent parser aborts at end of inputMarkus Armbruster1-2/+0
2018-08-24qjson: Fix qobject_from_json() & friends for multiple valuesMarkus Armbruster1-1/+14
2018-08-24json: Improve names of lexer states related to numbersMarkus Armbruster1-17/+17
2018-08-24json: Replace %I64d, %I64u by %PRId64, %PRIu64Markus Armbruster1-4/+6
2018-08-24json: Leave rejecting invalid interpolation to parserMarkus Armbruster2-38/+7
2018-08-24json: Pass lexical errors and limit violations to callbackMarkus Armbruster2-8/+17
2018-08-24json: Treat unwanted interpolation as lexical errorMarkus Armbruster3-17/+19
2018-08-24json: Rename token JSON_ESCAPE & friends to JSON_INTERPMarkus Armbruster2-36/+36
2018-08-24json: Don't create JSON_ERROR tokens that won't be usedMarkus Armbruster1-4/+2
2018-08-24json: Don't pass null @tokens to json_parser_parse()Markus Armbruster2-17/+12
2018-08-24json: Redesign the callback to consume JSON valuesMarkus Armbruster3-23/+17
2018-08-24json: Have lexer call streamer directlyMarkus Armbruster2-8/+11
2018-08-24json-parser: simplify and avoid JSONParserContext allocationMarc-André Lureau1-32/+9
2018-08-24json: remove useless return value from lexer/parserMarc-André Lureau2-19/+12
2018-08-24json: Fix \uXXXX for surrogate pairsMarkus Armbruster1-21/+39
2018-08-24json: Reject invalid \uXXXX, fix \u0000Markus Armbruster1-29/+6
2018-08-24json: Simplify parse_string()Markus Armbruster1-23/+19
2018-08-24json: Leave rejecting invalid escape sequences to parserMarkus Armbruster2-91/+37
2018-08-24json: Accept overlong \xC0\x80 as U+0000 ("modified UTF-8")Markus Armbruster2-2/+2
2018-08-24json: Leave rejecting invalid UTF-8 to parserMarkus Armbruster1-4/+2
2018-08-24json: Report first rather than last parse errorMarkus Armbruster1-4/+4
2018-08-24json: Reject invalid UTF-8 sequencesMarkus Armbruster1-6/+14
2018-08-24json: Tighten and simplify qstring_from_escaped_str()'s loopMarkus Armbruster1-23/+7
2018-08-24json: Revamp lexer documentationMarkus Armbruster1-9/+71
2018-08-24json: Reject unescaped control charactersMarkus Armbruster1-2/+2
2018-08-24json: Fix lexer to include the bad character in JSON_ERROR tokenMarkus Armbruster1-2/+2
2018-08-16Merge remote-tracking branch 'remotes/armbru/tags/pull-tests-2018-08-16' into...Peter Maydell1-8/+55
2018-08-16qobject: qobject_from_jsonv() is dangerous, hide it awayMarkus Armbruster1-1/+12
2018-08-16qobject: New qobject_from_vjsonf_nofail(), qdict_from_vjsonf_nofail()Markus Armbruster1-7/+37
2018-08-16qobject: Replace qobject_from_jsonf() by qobject_from_jsonf_nofail()Markus Armbruster1-1/+7
2018-08-15qdict: Make qdict_extract_subqdict() accept dst = NULLAlberto Garcia1-3/+8
2018-07-28qstring: Move qstring_from_substr()'s @end one to the rightMarkus Armbruster1-3/+3
2018-07-28qstring: Assert size calculations don't overflowMarkus Armbruster1-1/+5
2018-07-28qstring: Fix qstring_from_substr() not to provoke int overflowliujunjie1-1/+1
2018-07-03qobject: Let qobject_from_jsonf() fail instead of abortMarkus Armbruster1-5/+0
2018-07-03qobject: New qdict_from_jsonf_nofail()Markus Armbruster1-0/+18
2018-06-29block-qdict: Pacify Coverity after commit f1b34a248e9Markus Armbruster1-8/+8
2018-06-22qdict: Make qdict_flatten() shallow-clone-friendlyMax Reitz1-4/+15
2018-06-15block: Fix -blockdev / blockdev-add for empty objects and arraysMarkus Armbruster1-21/+33
2018-06-15block-qdict: Simplify qdict_is_list() someMarkus Armbruster1-16/+11
2018-06-15block-qdict: Clean up qdict_crumple() a bitMarkus Armbruster1-16/+16
2018-06-15block-qdict: Tweak qdict_flatten_qdict(), qdict_flatten_qlist()Markus Armbruster1-5/+9
2018-06-15block-qdict: Simplify qdict_flatten_qdict()Markus Armbruster1-15/+3
2018-06-15block: Factor out qobject_input_visitor_new_flat_confused()Markus Armbruster1-1/+27
2018-06-15block: Fix -blockdev for certain non-string scalarsMarkus Armbruster1-0/+57
2018-06-15qobject: Move block-specific qdict code to block-qdict.cMarkus Armbruster3-629/+641
2018-06-15block: Add block-specific QDict headerMax Reitz1-0/+1
2018-05-04qobject: Modify qobject_ref() to return objMarc-André Lureau1-22/+11
2018-05-04qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREFMarc-André Lureau4-27/+27
2018-05-04qobject: use a QObjectBase_ structMarc-André Lureau1-6/+6
2018-05-04qobject: Ensure base is at offset 0Marc-André Lureau1-0/+9
2018-03-19qobject: introduce qobject_get_try_str()Peter Xu1-0/+11
2018-03-19qobject: introduce qstring_get_try_str()Peter Xu1-0/+10
2018-03-19qapi: Make more of qobject_to()Max Reitz2-15/+18
2018-03-19qapi: Remove qobject_to_X() functionsMax Reitz5-55/+0
2018-03-19qapi: Replace qobject_to_X(o) by qobject_to(X, o)Max Reitz8-41/+41
2018-03-19qlit: add qobject_from_qlit()Marc-André Lureau1-0/+37
2018-03-09qdict: Introduce qdict_rename_keys()Kevin Wolf1-0/+34
2018-02-09Include qapi/qmp/qstring.h exactly where neededMarkus Armbruster1-0/+1
2018-02-09Include qapi/qmp/qdict.h exactly where neededMarkus Armbruster2-0/+2
2018-02-09Include qapi/qmp/qlist.h exactly where neededMarkus Armbruster5-0/+5
2018-02-09Include qapi/qmp/qobject.h exactly where neededMarkus Armbruster5-5/+0
2018-02-09qdict qlist: Make most helper macros functionsMarkus Armbruster6-0/+51
2018-02-09Eliminate qapi/qmp/types.hMarkus Armbruster4-4/+9
2018-02-09Include qapi/error.h exactly where neededMarkus Armbruster1-1/+0
2017-11-17qapi: Add qobject_is_equal()Max Reitz7-0/+170
2017-11-17qapi/qnull: Add own headerMax Reitz1-1/+1
2017-09-04qlit: Tighten QLit list vs QList comparisonMarc-André Lureau1-34/+19
2017-09-04qlit: Tighten QLit dict vs QDict comparisonMarc-André Lureau1-14/+23
2017-09-04qlit: Replace open-coded qnum_get_int() by callMarc-André Lureau1-4/+1
2017-09-04qlit: add QLIT_QNULL and QLIT_BOOLMarc-André Lureau1-0/+4
2017-09-04qlit: make qlit_equal_qobject() take const argumentsMarc-André Lureau1-1/+1
2017-09-04qlit: make qlit_equal_qobject return a boolMarc-André Lureau1-9/+9
2017-09-04qlit: rename compare_litqobj_to_qobj() to qlit_equal_qobject()Marc-André Lureau1-3/+3
2017-09-04qlit: use QLit prefix consistentlyMarc-André Lureau1-2/+2
2017-09-04qlit: move qlit from check-qjson to qobject/Marc-André Lureau2-1/+90
2017-07-24qapi: Separate type QNull from QObjectMarkus Armbruster2-4/+6
2017-06-20json: learn to parse uint64 numbersMarc-André Lureau2-8/+32
2017-06-20qnum: add uint typeMarc-André Lureau1-0/+64
2017-06-20qapi: merge QInt and QFloat in QNumMarc-André Lureau8-197/+194
2017-05-09qobject: Use simpler QDict/QList scalar insertion macrosEric Blake1-1/+1
2017-03-07qobject: Propagate parse errors through qobject_from_json()Markus Armbruster1-2/+2
2017-03-07qjson: Abort earlier on qobject_from_jsonf() misuseMarkus Armbruster1-1/+1
2017-03-07qobject: Propagate parse errors through qobject_from_jsonv()Markus Armbruster1-4/+8
2017-02-24Merge remote-tracking branch 'remotes/armbru/tags/pull-util-2017-02-23' into ...Peter Maydell1-1/+1
2017-02-23util/cutils: Rename qemu_strtoll(), qemu_strtoull()Markus Armbruster1-1/+1
2017-02-22qdict: Make qdict_get_qlist() safe like qdict_get_qdict()Markus Armbruster1-27/+3
2016-10-25qdict: implement a qdict_crumple method for un-flattening a dictDaniel P. Berrange1-0/+277
2016-07-12json-streamer: fix double-free on exiting during a parsePaolo Bonzini1-2/+6
2016-07-06qapi: Improve use of qmp/types.hEric Blake3-17/+3
2016-06-30qobject: Correct JSON lexer grammar commentsEric Blake1-5/+14
2016-06-30json-streamer: Don't leak tokens on incomplete parseEric Blake1-0/+6
2016-06-20coccinelle: Remove unnecessary variables for function return valueEduardo Habkost1-4/+1
2016-05-18qdict: fix unbounded stack warning for qdict_array_entriesPeter Xu1-9/+6
2016-03-22util: move declarations out of qemu-common.hVeronia Bahaa3-1/+2
2016-03-22include/qemu/osdep.h: Don't include qapi/error.hMarkus Armbruster1-0/+1
2016-02-08qobject: Document more shortcomings in our number handlingEric Blake2-3/+14
2016-02-04qobject: Clean up includesPeter Maydell12-2/+12
2015-12-17qapi: Convert QType into QAPI built-in enum typeEric Blake1-2/+2
2015-12-17qobject: Rename qtype_code to QTypeEric Blake1-2/+1
2015-12-17qobject: Simplify QObjectEric Blake9-66/+48
2015-11-26qjson: Limit number of tokens in addition to total sizeMarkus Armbruster1-0/+2
2015-11-26qjson: surprise, allocating 6 QObjects per token is expensivePaolo Bonzini2-78/+56
2015-11-26qjson: store tokens in a GQueuePaolo Bonzini3-56/+36
2015-11-26qjson: Convert to parser to recursive descentMarkus Armbruster1-118/+47
2015-11-26qjson: replace QString in JSONLexer with GStringPaolo Bonzini2-18/+13
2015-11-26qjson: Inline token_is_escape() and simplifyMarkus Armbruster1-17/+15
2015-11-26qjson: Inline token_is_keyword() and simplifyMarkus Armbruster1-13/+7
2015-11-26qjson: Give each of the six structural chars its own token typeMarkus Armbruster3-46/+36
2015-11-26qjson: Spell out some silent assumptionsMarkus Armbruster1-1/+6
2015-11-26qjson: Don't crash when input exceeds nesting limitMarkus Armbruster1-2/+3
2015-11-26qjson: Apply nesting limit more sanelyMarkus Armbruster1-2/+1
2015-10-29qstring: Make conversion from QObject * accept nullMarkus Armbruster2-10/+5
2015-10-29qlist: Make conversion from QObject * accept nullMarkus Armbruster1-2/+1
2015-10-29qfloat qint: Make conversion from QObject * accept nullMarkus Armbruster3-12/+7
2015-10-29qdict: Make conversion from QObject * accept nullMarkus Armbruster1-3/+3
2015-10-29qbool: Make conversion from QObject * accept nullMarkus Armbruster2-10/+5
2015-06-22Include qapi/qmp/qerror.h exactly where neededMarkus Armbruster1-1/+0
2015-06-22qerror: Finally unused, clean upMarkus Armbruster3-152/+0
2015-06-22qobject: Use 'bool' inside qdictEric Blake1-2/+2
2015-06-22qobject: Use 'bool' for qboolEric Blake4-10/+10
2015-06-12qdict: Add qdict_{set,copy}_default()Kevin Wolf1-0/+33
2015-06-12qdict: Add qdict_array_entries()Kevin Wolf1-4/+74
2015-05-11json-parser: Accept 'null' in QMPEric Blake1-0/+2
2015-05-11qobject: Add a special null QObjectMarkus Armbruster3-1/+33
2015-05-11qobject: Clean up around qtype_codeMarkus Armbruster1-2/+1
2014-12-10qjson: Drop trailing space for pretty formattingMax Reitz1-4/+6
2014-06-23json-lexer: fix escaped backslash in single-quoted stringPaolo Bonzini1-2/+2
2014-06-11json-parser: drop superfluous assignment for token variableGonglei1-13/+2
2014-05-19qdict: Add qdict_join()Max Reitz1-0/+32
2014-04-25qerror.h: Remove QERR defines that are only used onceCole Robinson1-1/+1
2014-02-21qdict: Extract non-QDicts in qdict_array_split()Max Reitz1-14/+46
2014-01-22qapi: extend qdict_flatten() for QListsMax Reitz1-6/+48
2014-01-22qdict: Add qdict_array_split()Max Reitz1-0/+37
2014-01-06qerror: Remove assert_no_error()Peter Crosthwaite1-8/+0
2013-12-06Merge remote-tracking branch 'kwolf/tags/for-anthony' into stagingAnthony Liguori1-4/+10
2013-12-02qobject: Fix compiler warning (missing gnu_printf format attribute)Stefan Weil1-2/+2
2013-11-29qdict: Optimise qdict_do_flatten()Kevin Wolf1-3/+7
2013-11-29qdict: Fix memory leak in qdict_do_flatten()Kevin Wolf1-1/+3
2013-09-25qdict: Extract qdict_extract_subqdictBenoît Canet1-0/+21
2013-07-26Implement qdict_flatten()Kevin Wolf1-0/+51
2013-07-26qapi: Anonymous unionsKevin Wolf1-0/+2
2013-05-23json-parser: fix handling of large whole number valuesMichael Roth1-3/+23
2013-04-13qjson: to_json() case QTYPE_QSTRING is buggy, rewriteMarkus Armbruster1-57/+45
2013-04-05qstring: add qstring_get_length()Luiz Capitulino1-0/+8
2013-03-15Add qdict_clone_shallow()Kevin Wolf1-0/+22
2013-01-12build: move qobject files to qobject/ and libqemuutil.aPaolo Bonzini12-0/+2622