[Spice-devel] [PATCH spice-common 2/4] codegen: Add a check for C structure fields
Uri Lublin
uril at redhat.com
Wed Aug 14 14:39:00 UTC 2019
On 8/13/19 7:56 PM, Frediano Ziglio wrote:
> 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>
Ack.
Uri
> ---
> 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
>
More information about the Spice-devel
mailing list