[PATCH spice-common 2/4] codegen: Add a check for C structure fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]