[Spice-devel] [PATCH v3 33/51] Implement ws_inline attribute
Christophe Fergeau
cfergeau at redhat.com
Thu Jul 23 06:25:20 PDT 2015
On Tue, Jul 21, 2015 at 05:46:03PM +0100, Frediano Ziglio wrote:
> This attribute allow structure to be aligned instead of be contained
'allows the structure parsing code to be inlined instead of being
contained ...' ?
> in a separate function.
> This is helpful as variable are declared in the function so allows
> other member to reference to a nested structure.
This second sentence is a bit more obscure :-/
"This is helpful as variables are declared in the function, so this
allows other members to access a nested structure" ? I think I get the
general idea, a small example as to when this is needed could be nice I
think.
Christophe
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> python_modules/dissector.py | 11 ++++++++---
> 1 file changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/python_modules/dissector.py b/python_modules/dissector.py
> index b204c61..3d822cc 100644
> --- a/python_modules/dissector.py
> +++ b/python_modules/dissector.py
> @@ -378,9 +378,14 @@ def write_struct_func(writer, t, func_name, index):
> def write_struct(writer, member, t, index, dest, scope):
> assert(t.is_struct())
>
> - func_name = 'dissect_spice_struct_' + t.name
> - write_struct_func(writer, t, func_name, index)
> - writer.assign('offset', '%s(glb, %s, offset, %s)' % (func_name, dest.level.tree, index))
> + if member.has_attr('ws_inline'):
> + dest = dest.child_sub(member.name, scope)
> + with writer.block() as scope:
> + write_container_parser(writer, t, dest)
> + else:
> + func_name = 'dissect_spice_struct_' + t.name
> + write_struct_func(writer, t, func_name, index)
> + writer.assign('offset', '%s(glb, %s, offset, %s)' % (func_name, dest.level.tree, index))
>
> def write_member_primitive(writer, container, member, t, dest, scope):
> assert(t.is_primitive())
> --
> 2.1.0
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150723/a0544b08/attachment.sig>
More information about the Spice-devel
mailing list