summaryrefslogtreecommitdiff
path: root/lib/ffi/struct_layout_builder.rb
diff options
context:
space:
mode:
authorSylvain Daubert <sylvain.daubert@laposte.net>2012-12-08 11:59:07 +0100
committerSylvain Daubert <sylvain.daubert@laposte.net>2012-12-08 11:59:07 +0100
commit6837cce7e147ce78fda29fb22a7ff8de69292509 (patch)
treeb601ee359cfa7e1cfd55a3f9ba4f5a00737c2b2e /lib/ffi/struct_layout_builder.rb
parentf8f9ba3480c6a7e839b0aa4ce528ca3b49b15790 (diff)
parent4e92e862d2eaf07979683aa9b9f052ec20685e4f (diff)
downloadffi-6837cce7e147ce78fda29fb22a7ff8de69292509.tar.gz
Merge remote-tracking branch 'upstream/master'
Conflicts: ext/ffi_c/MemoryPointer.c lib/ffi/struct.rb
Diffstat (limited to 'lib/ffi/struct_layout_builder.rb')
-rw-r--r--lib/ffi/struct_layout_builder.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/ffi/struct_layout_builder.rb b/lib/ffi/struct_layout_builder.rb
index 9ddc883..1185979 100644
--- a/lib/ffi/struct_layout_builder.rb
+++ b/lib/ffi/struct_layout_builder.rb
@@ -94,6 +94,7 @@ module FFI
Type::UINT64,
Type::FLOAT32,
Type::FLOAT64,
+ Type::LONGDOUBLE,
Type::BOOL,
]
@@ -151,7 +152,9 @@ module FFI
# Add tail padding if the struct is not packed
size = @packed ? @size : align(@size, @alignment)
- StructLayout.new(@fields, size, @alignment)
+ layout = StructLayout.new(@fields, size, @alignment)
+ layout.__union! if @union
+ layout
end
private