X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvapi%2Fvapi_json_parser.py;fp=src%2Fvpp-api%2Fvapi%2Fvapi_json_parser.py;h=fbeb1887ac2fc0eafc78537150886fd1c8ebadb7;hb=9ac113815511f3ce37b56a1331d6491fc36f7db5;hp=fda3f75d9c1d50de41c796f358e33838ab917306;hpb=de146e5d5f7e919b423feeff3159c4ecd564c353;p=vpp.git diff --git a/src/vpp-api/vapi/vapi_json_parser.py b/src/vpp-api/vapi/vapi_json_parser.py index fda3f75d9c1..fbeb1887ac2 100644 --- a/src/vpp-api/vapi/vapi_json_parser.py +++ b/src/vpp-api/vapi/vapi_json_parser.py @@ -167,13 +167,16 @@ class Message(object): else: field_type = json_parser.lookup_type_like_id(field[0]) logger.debug("Parsing message field `%s'" % field) - if len(field) == 2: + l = len(field) + if any(type(n) is dict for n in field): + l -= 1 + if l == 2: if self.header is not None and\ self.header.has_field(field[1]): continue p = field_class(field_name=field[1], field_type=field_type) - elif len(field) == 3: + elif l == 3: if field[2] == 0: raise ParseError( "While parsing message `%s': variable length " @@ -184,7 +187,7 @@ class Message(object): field_name=field[1], field_type=field_type, array_len=field[2]) - elif len(field) == 4: + elif l == 4: nelem_field = None for f in fields: if f.name == field[3]: