On 07/26/2013 06:39 AM, Markus Armbruster wrote: > Fixes at least the following parser bugs: > > * accepts any token in place of a colon > > * treats comma as optional > > * crashes when closing braces or brackets are missing > > Signed-off-by: Markus Armbruster > --- > scripts/qapi.py | 40 ++++++++++++++++++++++++++--------- > tests/qapi-schema/missing-colon.err | 1 + > tests/qapi-schema/missing-colon.exit | 2 +- > tests/qapi-schema/missing-colon.out | 3 --- > tests/qapi-schema/missing-comma.err | 1 + > tests/qapi-schema/missing-comma.exit | 2 +- > tests/qapi-schema/missing-comma.out | 3 --- > tests/qapi-schema/unclosed-object.err | 2 +- > 8 files changed, 35 insertions(+), 19 deletions(-) > > > def get_values(self): > expr = [] > - while self.tok != ']': > + if self.tok == ']': > + self.accept() > + return expr > + if not self.tok in [ '{', '[', "'" ]: > + raise QAPISchemaError(self, 'Expected "{", "[", "]" or string') JSON allows primitives here, as in [ 1 ]; but I agree that for the purposes of our schema we will always be taking a string or complex object whenever we have a list. Reviewed-by: Eric Blake -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org