From 4db56efa19b9d93636d31ffde06ab7cdededda0c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 19 Jan 2005 11:58:40 +0000 Subject: r4843: fixed the alignment handling of enumerated types (This used to be commit d2946dfabbc727633cdb17c3956fc120e214140c) --- source4/build/pidl/parser.pm | 2 ++ source4/build/pidl/util.pm | 5 +++++ 2 files changed, 7 insertions(+) (limited to 'source4/build') diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm index 077fcd4385..ac45b4d9bc 100644 --- a/source4/build/pidl/parser.pm +++ b/source4/build/pidl/parser.pm @@ -192,6 +192,8 @@ sub struct_alignment if (defined $structs{$e->{TYPE}}->{DATA}) { $a = union_alignment($structs{$e->{TYPE}}->{DATA}); } + } elsif ($structs{$e->{TYPE}}->{DATA}->{TYPE} eq "ENUM") { + $a = util::type_align($e); } } else { $a = util::type_align($e); diff --git a/source4/build/pidl/util.pm b/source4/build/pidl/util.pm index bd87cf4317..39f84843cb 100644 --- a/source4/build/pidl/util.pm +++ b/source4/build/pidl/util.pm @@ -335,6 +335,11 @@ sub type_align($) return $ret; } + if (is_enum($type)) { + my $ret = type_align(get_enum($type)); + return $ret; + } + # it must be an external type - all we can do is guess return 4; } -- cgit