[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/4] qjson: replace QString in JSONLexer with GS
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 1/4] qjson: replace QString in JSONLexer with GString |
Date: |
Fri, 20 Nov 2015 11:23:22 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/20/2015 02:04 AM, Paolo Bonzini wrote:
> JSONLexer only needs a simple resizable buffer. json-streamer.c
> can allocate memory for each token instead of relying on reference
> counting of QStrings.
>
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> include/qapi/qmp/json-lexer.h | 7 +++----
> include/qapi/qmp/json-streamer.h | 1 +
> qobject/json-lexer.c | 22 ++++++++--------------
> qobject/json-streamer.c | 10 +++++-----
> 4 files changed, 17 insertions(+), 23 deletions(-)
>
> --- a/include/qapi/qmp/json-streamer.h
> +++ b/include/qapi/qmp/json-streamer.h
> @@ -14,6 +14,7 @@
> #ifndef QEMU_JSON_STREAMER_H
> #define QEMU_JSON_STREAMER_H
>
> +#include <stdint.h>
> #include "qapi/qmp/qlist.h"
> #include "qapi/qmp/json-lexer.h"
>
Spurious hunk? If not, should mention in the commit message why this is
needed.
> +++ b/qobject/json-streamer.c
> @@ -12,6 +12,7 @@
> */
>
> #include "qapi/qmp/qlist.h"
> +#include "qapi/qmp/qstring.h"
> #include "qapi/qmp/qint.h"
> #include "qapi/qmp/qdict.h"
> #include "qemu-common.h"
> @@ -21,13 +22,13 @@
> #define MAX_TOKEN_SIZE (64ULL << 20)
> #define MAX_NESTING (1ULL << 10)
>
> -static void json_message_process_token(JSONLexer *lexer, QString *token,
> JSONTokenType type, int x, int y)
> +static void json_message_process_token(JSONLexer *lexer, GString *input,
> JSONTokenType type, int x, int y)
Worth wrapping the long line while touching it?
Otherwise looks like a straightforward conversion. If the commit
message is fixed, you can add
Reviewed-by: Eric Blake <address@hidden>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 0/4] qjson: save a lot of memory, Paolo Bonzini, 2015/11/20
- [Qemu-devel] [PATCH 2/4] qjson: do not save/restore contexts, Paolo Bonzini, 2015/11/20
- [Qemu-devel] [PATCH 3/4] qjson: store tokens in a GQueue, Paolo Bonzini, 2015/11/20
- [Qemu-devel] [PATCH 1/4] qjson: replace QString in JSONLexer with GString, Paolo Bonzini, 2015/11/20
- Re: [Qemu-devel] [PATCH 1/4] qjson: replace QString in JSONLexer with GString,
Eric Blake <=
- [Qemu-devel] [PATCH 4/4] qjson: surprise, allocating 6 QObjects per token is expensive, Paolo Bonzini, 2015/11/20