summaryrefslogtreecommitdiffstats
path: root/python_modules/ptypes.py
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-07-19 15:47:40 +0200
committerAlexander Larsson <alexl@redhat.com>2010-07-19 16:28:22 +0200
commit7690a24acdfba226566773b309bf249627dec784 (patch)
treea74251c5f2573189c7f12f844adab2d0d6de110c /python_modules/ptypes.py
parent12b08f2c3e07cea617255bedfd97b2eedf0f180f (diff)
downloadspice-7690a24acdfba226566773b309bf249627dec784.tar.gz
spice-7690a24acdfba226566773b309bf249627dec784.tar.xz
spice-7690a24acdfba226566773b309bf249627dec784.zip
codegen: Allow @to_ptr to make inline structs demarshal as pointers
Diffstat (limited to 'python_modules/ptypes.py')
-rw-r--r--python_modules/ptypes.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py
index e354454b..59ed8974 100644
--- a/python_modules/ptypes.py
+++ b/python_modules/ptypes.py
@@ -536,7 +536,7 @@ class Member(Containee):
return self.member_type.is_fixed_sizeof()
def is_extra_size(self):
- return self.has_end_attr() or self.member_type.is_extra_size()
+ return self.has_end_attr() or self.has_attr("to_ptr") or self.member_type.is_extra_size()
def is_fixed_nw_size(self):
if self.has_attr("virtual"):
@@ -562,6 +562,8 @@ class Member(Containee):
return "%s (%s)" % (str(self.name), str(self.member_type))
def get_num_pointers(self):
+ if self.has_attr("to_ptr"):
+ return 1
return self.member_type.get_num_pointers()
def get_pointer_names(self, marshalled):