diff options
-rw-r--r-- | source4/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm | 7 | ||||
-rwxr-xr-x | source4/pidl/tests/samba3-cli.pl | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm b/source4/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm index b4e635f0db..9c3f01ad93 100644 --- a/source4/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm +++ b/source4/pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm @@ -36,10 +36,11 @@ sub new($) sub ParseFunction($$$) { - my ($self, $uif, $fn) = @_; + my ($self, $if, $fn) = @_; my $inargs = ""; my $defargs = ""; + my $uif = uc($if); my $ufn = "NDR_".uc($fn->{NAME}); foreach (@{$fn->{ELEMENTS}}) { @@ -63,7 +64,7 @@ sub ParseFunction($$$) $self->pidl("if (DEBUGLEVEL >= 10)"); $self->pidl("\tNDR_PRINT_IN_DEBUG($fn->{NAME}, &r);"); $self->pidl(""); - $self->pidl("status = cli_do_rpc_ndr(cli, mem_ctx, PI_$uif, $ufn, &r, (ndr_pull_flags_fn_t)ndr_pull_$fn->{NAME}, (ndr_push_flags_fn_t)ndr_push_$fn->{NAME});"); + $self->pidl("status = cli_do_rpc_ndr(cli, mem_ctx, PI_$uif, &ndr_table_$if, $ufn, &r);"); $self->pidl(""); $self->pidl("if (!NT_STATUS_IS_OK(status)) {"); @@ -141,7 +142,7 @@ sub ParseInterface($$) $self->pidl_hdr("#ifndef __CLI_$uif\__"); $self->pidl_hdr("#define __CLI_$uif\__"); - $self->ParseFunction(uc($if->{NAME}), $_) foreach (@{$if->{FUNCTIONS}}); + $self->ParseFunction($if->{NAME}, $_) foreach (@{$if->{FUNCTIONS}}); $self->pidl_hdr("#endif /* __CLI_$uif\__ */"); } diff --git a/source4/pidl/tests/samba3-cli.pl b/source4/pidl/tests/samba3-cli.pl index 733bf93a99..8c06ed8c27 100755 --- a/source4/pidl/tests/samba3-cli.pl +++ b/source4/pidl/tests/samba3-cli.pl @@ -39,7 +39,7 @@ is($x->{res}, "NTSTATUS rpccli_bar(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ \tif (DEBUGLEVEL >= 10) \t\tNDR_PRINT_IN_DEBUG(bar, &r); \t -\tstatus = cli_do_rpc_ndr(cli, mem_ctx, PI_foo, NDR_BAR, &r, (ndr_pull_flags_fn_t)ndr_pull_bar, (ndr_push_flags_fn_t)ndr_push_bar); +\tstatus = cli_do_rpc_ndr(cli, mem_ctx, PI_FOO, &ndr_table_foo, NDR_BAR, &r); \t \tif (!NT_STATUS_IS_OK(status)) { \t\treturn status; |