Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
API: Add support for limits to language.
[vpp.git]
/
src
/
vpp-api
/
vapi
/
vapi_json_parser.py
diff --git
a/src/vpp-api/vapi/vapi_json_parser.py
b/src/vpp-api/vapi/vapi_json_parser.py
index
2c08b90
..
fbeb188
100644
(file)
--- 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)
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)
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 l
en(field)
== 3:
+ elif l == 3:
if field[2] == 0:
raise ParseError(
"While parsing message `%s': variable length "
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])
field_name=field[1],
field_type=field_type,
array_len=field[2])
- elif l
en(field)
== 4:
+ elif l == 4:
nelem_field = None
for f in fields:
if f.name == field[3]:
nelem_field = None
for f in fields:
if f.name == field[3]:
@@
-298,7
+301,7
@@
class JsonParser(object):
x: simple_type_class(x) for x in [
'i8', 'i16', 'i32', 'i64',
'u8', 'u16', 'u32', 'u64',
x: simple_type_class(x) for x in [
'i8', 'i16', 'i32', 'i64',
'u8', 'u16', 'u32', 'u64',
- 'f64'
+ 'f64'
, 'bool'
]
}
]
}