aboutsummaryrefslogtreecommitdiffstats
path: root/json-lexer.c
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2010-05-10 23:26:01 -0700
committerDavid 'Digit' Turner <digit@android.com>2010-05-11 17:56:30 -0700
commit9251866320b5f8329a043bb56b3a794f78d12849 (patch)
treeca005574fbc5833f93d55ce72881780aa7e78aaf /json-lexer.c
parent1da50d3beb2a75f619fa56278cb195703361e261 (diff)
downloadexternal_qemu-9251866320b5f8329a043bb56b3a794f78d12849.zip
external_qemu-9251866320b5f8329a043bb56b3a794f78d12849.tar.gz
external_qemu-9251866320b5f8329a043bb56b3a794f78d12849.tar.bz2
Upstream: integrate various misc. minor changes
Change-Id: I7d3eca1350f980d93f9f3198fa5250fb776de729
Diffstat (limited to 'json-lexer.c')
-rw-r--r--json-lexer.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/json-lexer.c b/json-lexer.c
index 53697c5..9d64920 100644
--- a/json-lexer.c
+++ b/json-lexer.c
@@ -54,6 +54,9 @@ enum json_lexer_state {
IN_ESCAPE,
IN_ESCAPE_L,
IN_ESCAPE_LL,
+ IN_ESCAPE_I,
+ IN_ESCAPE_I6,
+ IN_ESCAPE_I64,
IN_ESCAPE_DONE,
IN_WHITESPACE,
IN_OPERATOR_DONE,
@@ -223,6 +226,18 @@ static const uint8_t json_lexer[][256] = {
['l'] = IN_ESCAPE_LL,
},
+ [IN_ESCAPE_I64] = {
+ ['d'] = IN_ESCAPE_DONE,
+ },
+
+ [IN_ESCAPE_I6] = {
+ ['4'] = IN_ESCAPE_I64,
+ },
+
+ [IN_ESCAPE_I] = {
+ ['6'] = IN_ESCAPE_I6,
+ },
+
[IN_ESCAPE] = {
['d'] = IN_ESCAPE_DONE,
['i'] = IN_ESCAPE_DONE,
@@ -230,6 +245,7 @@ static const uint8_t json_lexer[][256] = {
['s'] = IN_ESCAPE_DONE,
['f'] = IN_ESCAPE_DONE,
['l'] = IN_ESCAPE_L,
+ ['I'] = IN_ESCAPE_I,
},
/* top level rule */