2cbd15aa6f
The JSON parser optionally supports interpolation. The lexer recognizes interpolation tokens unconditionally. The parser rejects them when interpolation is disabled, in parse_interpolation(). However, it neglects to set an error then, which can make json_parser_parse() fail without setting an error. Move the check for unwanted interpolation from the parser's parse_interpolation() into the lexer's finite state machine. When interpolation is disabled, '%' is now handled like any other unexpected character. The next commit will improve how such lexical errors are handled. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180823164025.12553-39-armbru@redhat.com> |
||
---|---|---|
.. | ||
dispatch.h | ||
json-lexer.h | ||
json-parser.h | ||
json-streamer.h | ||
qbool.h | ||
qdict.h | ||
qerror.h | ||
qjson.h | ||
qlist.h | ||
qlit.h | ||
qnull.h | ||
qnum.h | ||
qobject.h | ||
qstring.h |