diff options
| author | Markus Armbruster <armbru@redhat.com> | 2018-08-23 18:40:00 +0200 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2018-08-24 20:26:37 +0200 |
| commit | 037f2440888a22bd00ea0d8e37a1b7ed7d2bba88 (patch) | |
| tree | b0e02a19af0e29b8dd7bee52195aebef7844174a /include/qapi/qmp/json-lexer.h | |
| parent | e8b19d7d7300366a1dd85273512657bbeab564ab (diff) | |
| download | focaccia-qemu-037f2440888a22bd00ea0d8e37a1b7ed7d2bba88.tar.gz focaccia-qemu-037f2440888a22bd00ea0d8e37a1b7ed7d2bba88.zip | |
json: Have lexer call streamer directly
json_lexer_init() takes the function to process a token as an argument. It's always json_message_process_token(). Makes the code harder to understand for no actual gain. Drop the indirection. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180823164025.12553-34-armbru@redhat.com>
Diffstat (limited to 'include/qapi/qmp/json-lexer.h')
| -rw-r--r-- | include/qapi/qmp/json-lexer.h | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/include/qapi/qmp/json-lexer.h b/include/qapi/qmp/json-lexer.h index 66ccf0357c..44bcf2ca64 100644 --- a/include/qapi/qmp/json-lexer.h +++ b/include/qapi/qmp/json-lexer.h @@ -32,20 +32,13 @@ typedef enum json_token_type { JSON_ERROR, } JSONTokenType; -typedef struct JSONLexer JSONLexer; - -typedef void (JSONLexerEmitter)(JSONLexer *, GString *, - JSONTokenType, int x, int y); - -struct JSONLexer -{ - JSONLexerEmitter *emit; +typedef struct JSONLexer { int state; GString *token; int x, y; -}; +} JSONLexer; -void json_lexer_init(JSONLexer *lexer, JSONLexerEmitter func); +void json_lexer_init(JSONLexer *lexer); void json_lexer_feed(JSONLexer *lexer, const char *buffer, size_t size); |