1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-09 08:58:35 +03:00

r2933: Only pull a union once when it occurs in a subcontext

(This used to be commit 309623447eef9ae554e2f25713c2123ab578cc6e)
This commit is contained in:
Jelmer Vernooij 2004-10-12 10:32:54 +00:00 committed by Gerald (Jerry) Carter
parent 94c18cd1a3
commit 2e8b3926c6

View File

@ -454,7 +454,9 @@ sub ParseElementPullSwitch($$$$)
my $sub_size = util::has_property($e, "subcontext"); my $sub_size = util::has_property($e, "subcontext");
if (defined $sub_size) { if (defined $sub_size) {
pidl "\tNDR_CHECK(ndr_pull_subcontext_union_fn(ndr, $sub_size, $switch_var, $cprefix$var_prefix$e->{NAME}, (ndr_pull_union_fn_t) ndr_pull_$e->{TYPE}));\n"; pidl "\tif (($ndr_flags) & NDR_SCALARS) {\n";
pidl "\t\tNDR_CHECK(ndr_pull_subcontext_union_fn(ndr, $sub_size, $switch_var, $cprefix$var_prefix$e->{NAME}, (ndr_pull_union_fn_t) ndr_pull_$e->{TYPE}));\n";
pidl "\t}\n";
} else { } else {
pidl "\tNDR_CHECK(ndr_pull_$e->{TYPE}(ndr, $ndr_flags, $switch_var, $cprefix$var_prefix$e->{NAME}));\n"; pidl "\tNDR_CHECK(ndr_pull_$e->{TYPE}(ndr, $ndr_flags, $switch_var, $cprefix$var_prefix$e->{NAME}));\n";
} }
@ -484,7 +486,9 @@ sub ParseElementPushSwitch($$$$)
my $sub_size = util::has_property($e, "subcontext"); my $sub_size = util::has_property($e, "subcontext");
if (defined $sub_size) { if (defined $sub_size) {
pidl "\tNDR_CHECK(ndr_push_subcontext_union_fn(ndr, $sub_size, $switch_var, $cprefix$var_prefix$e->{NAME}, (ndr_push_union_fn_t) ndr_push_$e->{TYPE}));\n"; pidl "\tif(($ndr_flags) & NDR_SCALARS) {\n";
pidl "\t\tNDR_CHECK(ndr_push_subcontext_union_fn(ndr, $sub_size, $switch_var, $cprefix$var_prefix$e->{NAME}, (ndr_push_union_fn_t) ndr_push_$e->{TYPE}));\n";
pidl "\t}\n";
} else { } else {
pidl "\tNDR_CHECK(ndr_push_$e->{TYPE}(ndr, $ndr_flags, $switch_var, $cprefix$var_prefix$e->{NAME}));\n"; pidl "\tNDR_CHECK(ndr_push_$e->{TYPE}(ndr, $ndr_flags, $switch_var, $cprefix$var_prefix$e->{NAME}));\n";
} }