mirror of https://gitee.com/openkylin/qemu.git
998da0b158
We have two JSON writers written in C: qobject/qjson.c provides qobject_to_json(), and migration/qjson.c provides a more low level imperative interface. They don't share code. The latter tacitly limits numbers to int64_t, and strings contents to characters that don't need escaping. Factor out qobject_to_json()'s JSON writer as qobject/json-writer.c. Straightforward, except for numbers: since the writer is to be independent of QObject, it can't use qnum_to_string(). Open-code it instead. This is actually an improvement of sorts, because it liberates qnum_to_string() from JSON's needs: its JSON-related FIXMEs move to the JSON writer, where they belong. The next commit will replace migration/qjson.c. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20201211171152.146877-16-armbru@redhat.com> |
||
---|---|---|
.. | ||
block-qdict.c | ||
json-lexer.c | ||
json-parser-int.h | ||
json-parser.c | ||
json-streamer.c | ||
json-writer.c | ||
meson.build | ||
qbool.c | ||
qdict.c | ||
qjson.c | ||
qlist.c | ||
qlit.c | ||
qnull.c | ||
qnum.c | ||
qobject-internal.h | ||
qobject.c | ||
qstring.c |