[Spice-commits] python_modules/demarshal.py

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Aug 14 14:49:50 UTC 2019

 python_modules/demarshal.py |    3 +++
 1 file changed, 3 insertions(+)

New commits:
commit c392a7fee759c7f3bdfdb5fe30aa27112661f24b
Author: Frediano Ziglio <fziglio at redhat.com>
Date:   Tue Aug 13 17:10:26 2019 +0100

    codegen: Add a check for C structure fields
    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 at redhat.com>
    Acked-by: Uri Lublin <uril at redhat.com>

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)
         array_start = "end"
         at_end = True

More information about the Spice-commits mailing list