mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-protocol
synced 2025-12-26 22:55:30 +00:00
demarshaller: Don't parse @zero members
These just write zeros at the right place in the network protocol typically for old back-compat things. We don't want to read these back in.
This commit is contained in:
parent
f2d7fbdb19
commit
dcaba909d3
@ -638,7 +638,8 @@ def write_switch_parser(writer, container, switch, dest, scope):
|
||||
elif t.is_pointer():
|
||||
write_parse_pointer(writer, t, False, dest2, m.name, block)
|
||||
elif t.is_primitive():
|
||||
writer.assign(dest2.get_ref(m.name), "consume_%s(&in)" % (t.primitive_type()))
|
||||
if not m.has_attr("zero"):
|
||||
writer.assign(dest2.get_ref(m.name), "consume_%s(&in)" % (t.primitive_type()))
|
||||
#TODO validate e.g. flags and enums
|
||||
elif t.is_array():
|
||||
nelements = read_array_len(writer, m.name, t, dest, block)
|
||||
@ -757,6 +758,8 @@ def write_member_parser(writer, container, member, dest, scope):
|
||||
else:
|
||||
write_parse_pointer(writer, t, member.has_end_attr(), dest, member.name, scope)
|
||||
elif t.is_primitive():
|
||||
if member.has_attr("zero"):
|
||||
pass
|
||||
if member.has_end_attr():
|
||||
writer.statement("*(%s *)end = consume_%s(&in)" % (t.c_type(), t.primitive_type()))
|
||||
writer.increment("end", t.sizeof())
|
||||
|
||||
Loading…
Reference in New Issue
Block a user