mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 18:05:37 +00:00
![Markus Armbruster](/assets/img/avatar_default.png)
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>
5 lines
212 B
Meson
5 lines
212 B
Meson
util_ss.add(files('qnull.c', 'qnum.c', 'qstring.c', 'qdict.c',
|
|
'qlist.c', 'qbool.c', 'qlit.c', 'qjson.c', 'qobject.c',
|
|
'json-writer.c', 'json-lexer.c', 'json-streamer.c', 'json-parser.c',
|
|
'block-qdict.c'))
|