diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2017-06-07 20:36:02 +0400 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2017-06-20 14:31:31 +0200 |
commit | 2bc7cfea095dc0ab7fae17e0a620f93ce042cafa (patch) | |
tree | 0e436e3079f2083ae1f7f59493f8c0da7f834249 /qobject/json-lexer.c | |
parent | 61a8f418b26a2d974e38e4ae55020aca8d402d88 (diff) |
json: learn to parse uint64 numbers
Switch strtoll() usage to qemu_strtoi64() helper while at it.
Add a few tests for large numbers.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20170607163635.17635-11-marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'qobject/json-lexer.c')
-rw-r--r-- | qobject/json-lexer.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/qobject/json-lexer.c b/qobject/json-lexer.c index af4a75e05b..980ba159d6 100644 --- a/qobject/json-lexer.c +++ b/qobject/json-lexer.c @@ -227,15 +227,18 @@ static const uint8_t json_lexer[][256] = { /* escape */ [IN_ESCAPE_LL] = { ['d'] = JSON_ESCAPE, + ['u'] = JSON_ESCAPE, }, [IN_ESCAPE_L] = { ['d'] = JSON_ESCAPE, ['l'] = IN_ESCAPE_LL, + ['u'] = JSON_ESCAPE, }, [IN_ESCAPE_I64] = { ['d'] = JSON_ESCAPE, + ['u'] = JSON_ESCAPE, }, [IN_ESCAPE_I6] = { @@ -251,6 +254,7 @@ static const uint8_t json_lexer[][256] = { ['i'] = JSON_ESCAPE, ['p'] = JSON_ESCAPE, ['s'] = JSON_ESCAPE, + ['u'] = JSON_ESCAPE, ['f'] = JSON_ESCAPE, ['l'] = IN_ESCAPE_L, ['I'] = IN_ESCAPE_I, |