summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-15 09:13:55 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-15 09:13:55 +0000
commit1e9ea7fe86a0d826cbb013c40e418a3927d01ef1 (patch)
tree573e038f2ebeb1bfa331584ad9837776b0902084
parent497e01e93e642ce8dd9ef77d0c3f0e61e19a765d (diff)
downloadsamba-1e9ea7fe86a0d826cbb013c40e418a3927d01ef1.tar.gz
samba-1e9ea7fe86a0d826cbb013c40e418a3927d01ef1.tar.bz2
samba-1e9ea7fe86a0d826cbb013c40e418a3927d01ef1.zip
fixed alignment of the buffers part structures
(This used to be commit f38ecd7ff7c2b2b36995e53af544cb99f0c084e0)
-rw-r--r--source4/build/pidl/parser.pm7
1 files changed, 4 insertions, 3 deletions
diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm
index d85a15eb00..60fdd38379 100644
--- a/source4/build/pidl/parser.pm
+++ b/source4/build/pidl/parser.pm
@@ -410,11 +410,11 @@ sub ParseStructPush($)
$res .= "\tNDR_CHECK(ndr_push_uint32(ndr, $size));\n";
}
+ $res .= "\tif (!(ndr_flags & NDR_SCALARS)) goto buffers;\n";
+
my $align = struct_alignment($struct);
$res .= "\tNDR_CHECK(ndr_push_align(ndr, $align));\n";
- $res .= "\tif (!(ndr_flags & NDR_SCALARS)) goto buffers;\n";
-
foreach my $e (@{$struct->{ELEMENTS}}) {
$e->{PARENT} = $struct;
ParseElementPushScalar($e, "r->", "NDR_SCALARS");
@@ -482,10 +482,11 @@ sub ParseStructPull($)
$res .= "\tNDR_CHECK(ndr_pull_uint32(ndr, &$conform_e->{CONFORMANT_SIZE}));\n";
}
+ $res .= "\tif (!(ndr_flags & NDR_SCALARS)) goto buffers;\n";
+
my $align = struct_alignment($struct);
$res .= "\tNDR_CHECK(ndr_pull_align(ndr, $align));\n";
- $res .= "\tif (!(ndr_flags & NDR_SCALARS)) goto buffers;\n";
foreach my $e (@{$struct->{ELEMENTS}}) {
ParseElementPullScalar($e, "r->", "NDR_SCALARS");
}