diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-21 01:43:29 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2012-03-21 13:24:16 +0100 |
commit | 2d4e0d20003dce8399ad89663d6353778b6c917f (patch) | |
tree | f44c19aa3c27daed3537e9b9d7cc4bf777819bd4 | |
parent | 3df7798413bd554d97f1351c1dba16961f32c6fe (diff) |
codegen: struct marshallers are not current function helper
This solves the issue of struct_marshallers being included within the
current ifdef/endif body, although they are independant functions.
-rw-r--r-- | python_modules/marshal.py | 5 | ||||
-rwxr-xr-x | spice_codegen.py | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/python_modules/marshal.py b/python_modules/marshal.py index d93f983..dc10a4c 100644 --- a/python_modules/marshal.py +++ b/python_modules/marshal.py @@ -99,7 +99,7 @@ class SubMarshallingSource(MarshallingSource): else: return self.parent_src.get_ref(self.name) + "." + member -def write_marshal_ptr_function(writer, target_type): +def write_marshal_ptr_function(writer, target_type, is_helper=True): if target_type.is_array(): marshal_function = "spice_marshall_array_%s" % target_type.element_type.primitive_type() else: @@ -116,7 +116,8 @@ def write_marshal_ptr_function(writer, target_type): names_args = "".join(n) header = writer.header - writer = writer.function_helper() + if is_helper: + writer = writer.function_helper() writer.header = header writer.out_prefix = "" if target_type.is_array(): diff --git a/spice_codegen.py b/spice_codegen.py index a9fdee9..759b09d 100755 --- a/spice_codegen.py +++ b/spice_codegen.py @@ -188,7 +188,7 @@ if options.generate_marshallers: if options.struct_marshallers: for structname in options.struct_marshallers: t = ptypes.lookup_type(structname) - marshal.write_marshal_ptr_function(writer, t) + marshal.write_marshal_ptr_function(writer, t, False) if options.generate_marshallers or (options.struct_marshallers and len(options.struct_marshallers) > 0): marshal.write_trailer(writer) |