p = field_class(field_name=field[1],
field_type=field_type)
elif l == 3:
- if field[2] == 0:
+ if field[2] == 0 and field[0] != 'string':
raise ParseError(
"While parsing message `%s': variable length "
"array `%s' doesn't have reference to member "
"containing the actual length" % (
name, field[1]))
+ if field[0] == 'string' and field[2] > 0:
+ field_type = json_parser.lookup_type_like_id('u8')
+
p = field_class(
field_name=field[1],
field_type=field_type,
continue
try:
type_pairs = [[self.lookup_type_like_id(t), n]
- for t, n in u[1:-1]]
- crc = u[-1]["crc"]
- union = self.union_class(name, type_pairs, crc)
+ for t, n in u[1:]]
+ union = self.union_class(name, type_pairs, 0)
progress = progress + 1
except ParseError as e:
exceptions.append(e)