On 06/16/2016 10:19 AM, Markus Armbruster wrote:
> Eric Blake <ebl...@redhat.com> writes:
> 
>> Fix the regex comments describing what we parse as JSON.  No change
>> to the lexer itself, just to the comments:
>> - The "" and '' string construction was missing alternation between
>> different escape sequences
>> - The construction for numbers forgot to handle optional leading '-'
>> - The construction for numbers was grouped incorrectly so that it
>> didn't permit '0.1'
>> - The construction for numbers forgot to mark the exponent as optional
>> - No mention that our '' string and "\'" are JSON extensions
>> - No mention of our %d and related extensions when constructing JSON
>>
>> Signed-off-by: Eric Blake <ebl...@redhat.com>
> 
> Reviewed-by: Markus Armbruster <arm...@redhat.com>
> 
> I'll take this one through qapi-next.  Thanks!
> 

You may want to squash this in for shorter lines:


diff --git a/qobject/json-lexer.c b/qobject/json-lexer.c
index de16219..b030576 100644
--- a/qobject/json-lexer.c
+++ b/qobject/json-lexer.c
@@ -21,16 +21,14 @@
  * Required by JSON (RFC 7159), plus \' extension in "", and extension
  * of parsing case-insensitive non-finite numbers like "NaN" and "-Inf":
  *
- * \"([^\\\"]|(\\\"|\\'|\\\\|\\/|\\b|\\f|\\n|\\r|\\t|
- *    \\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))*\"
+ * \"([^\\\"]|\\[\"'\\/bfnrt]|\\u[0-9a-fA-F]{4})*\"
  * -?(0|[1-9][0-9]*)(.[0-9]+)?([eE][-+]?[0-9]+)?
  * [{}\[\],:]
  * -?[a-zA-Z]+   # covers null, true, false, nan, inf[inity]
  *
  * Extension of '' strings:
  *
- * '([^\\']|(\\\"|\\'|\\\\|\\/|\\b|\\f|\\n|\\r|\\t|
- *    \\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]))*'
+ * '([^\\']|\\[\"'\\/bfnrt]|\\u[0-9a-fA-F]{4})*'
  *
  * Extension for vararg handling in JSON construction:
  *

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to