summaryrefslogtreecommitdiff
path: root/source4/build/pidl/ndr_client.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/ndr_client.pm')
-rw-r--r--source4/build/pidl/ndr_client.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/source4/build/pidl/ndr_client.pm b/source4/build/pidl/ndr_client.pm
index e5d4cc1569..ca6fc22465 100644
--- a/source4/build/pidl/ndr_client.pm
+++ b/source4/build/pidl/ndr_client.pm
@@ -52,6 +52,7 @@ NTSTATUS dcerpc_$name(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *
";
}
+my %done;
#####################################################################
# parse the interface definitions
@@ -60,9 +61,12 @@ sub ParseInterface($)
my($interface) = shift;
my($data) = $interface->{DATA};
$res = "/* Client functions generated by pidl */\n\n";
+
foreach my $d (@{$data}) {
- ($d->{TYPE} eq "FUNCTION") &&
- ParseFunction($interface, $d);
+ if (($d->{TYPE} eq "FUNCTION") and not $done{$d->{NAME}}) {
+ ParseFunction($interface, $d);
+ }
+ $done{$d->{NAME}} = 1;
}
return $res;
}