aboutsummaryrefslogtreecommitdiffstats
path: root/src/vpp-api/vapi/vapi_json_parser.py
diff options
context:
space:
mode:
authorOle Troan <ot@cisco.com>2019-04-23 17:11:01 +0200
committerAndrew Yourtchenko <ayourtch@gmail.com>2019-04-29 12:07:02 +0000
commit9ac113815511f3ce37b56a1331d6491fc36f7db5 (patch)
tree574f66ce291ee75de2545a051be77a11bbaa43e2 /src/vpp-api/vapi/vapi_json_parser.py
parentde146e5d5f7e919b423feeff3159c4ecd564c353 (diff)
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 <ot@cisco.com>
Diffstat (limited to 'src/vpp-api/vapi/vapi_json_parser.py')
-rw-r--r--src/vpp-api/vapi/vapi_json_parser.py9
1 files changed, 6 insertions, 3 deletions
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]: