mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
r23721: For unions, The TAG and the ARM are aligned independently.
Move emitting ALIGN_TO_x_BYTES to after the tag has been dissected so the
alignment only affects the ARM.
(This used to be commit 22945854d9
)
This commit is contained in:
parent
967866f170
commit
7bf94150da
@ -614,12 +614,6 @@ sub Union($$$$)
|
||||
$self->pidl_code("$switch_type level;");
|
||||
$self->pidl_code("");
|
||||
|
||||
if ($e->{ALIGN} > 1) {
|
||||
$self->pidl_code("ALIGN_TO_$e->{ALIGN}_BYTES;");
|
||||
}
|
||||
|
||||
$self->pidl_code("");
|
||||
|
||||
$self->pidl_code("old_offset = offset;");
|
||||
$self->pidl_code("if (parent_tree) {");
|
||||
$self->indent;
|
||||
@ -632,6 +626,12 @@ sub Union($$$$)
|
||||
|
||||
$self->pidl_code("offset = $switch_dissect(tvb, offset, pinfo, tree, drep, hf_index, &level);");
|
||||
|
||||
if ($e->{ALIGN} > 1) {
|
||||
$self->pidl_code("ALIGN_TO_$e->{ALIGN}_BYTES;");
|
||||
$self->pidl_code("");
|
||||
}
|
||||
|
||||
|
||||
$self->pidl_code("switch(level) {$res\t}");
|
||||
$self->pidl_code("proto_item_set_len(item, offset-old_offset);\n");
|
||||
$self->pidl_code("return offset;");
|
||||
|
Loading…
Reference in New Issue
Block a user