This check make sure that output fields for member with @end (arrays) are declared as empty arrays in output C structure. This avoids output fields to be declared as pointer or other invalid types. The check is a compile time check so no code in object file is generated. Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> --- python_modules/demarshal.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python_modules/demarshal.py b/python_modules/demarshal.py index 6d8dbdd..acd4b6f 100644 --- a/python_modules/demarshal.py +++ b/python_modules/demarshal.py @@ -805,6 +805,9 @@ def write_array_parser(writer, member, nelements, array, dest, scope): if member: array_start = dest.get_ref(member.name) at_end = member.has_end_attr() + # the field is supposed to be a [0] array, check it + if at_end: + writer.statement('verify(sizeof(%s) == 0)' % array_start) else: array_start = "end" at_end = True -- 2.20.1 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel