From 9ac113815511f3ce37b56a1331d6491fc36f7db5 Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Tue, 23 Apr 2019 17:11:01 +0200 Subject: API: Add support for limits to language. string name [limit = 64]; Meta-data to do argument validation. Change-Id: I1f3e0f09b2d5285224399413d25206f77bd3f4b1 Signed-off-by: Ole Troan --- src/vpp-api/vapi/vapi_json_parser.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/vpp-api/vapi') 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]: -- cgit 1.2.3-korg