summaryrefslogtreecommitdiff
path: root/source4/build/pidl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-01-31 15:54:42 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:25 -0500
commita67ef6c6a11950cbd7dde9476c51d7e2e8b94f9b (patch)
tree94ca57fc68e9eea943ad6c9d14b2015861cc5cf6 /source4/build/pidl
parent75049fb66f970b6c24d77a14d32a0977489fa6ff (diff)
downloadsamba-a67ef6c6a11950cbd7dde9476c51d7e2e8b94f9b.tar.gz
samba-a67ef6c6a11950cbd7dde9476c51d7e2e8b94f9b.tar.bz2
samba-a67ef6c6a11950cbd7dde9476c51d7e2e8b94f9b.zip
r5133: fix type mapping to internal types
metze (This used to be commit 4cebc7a85810395a0b095127925bd88c7caddb63)
Diffstat (limited to 'source4/build/pidl')
-rw-r--r--source4/build/pidl/parser.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm
index f17953e7d2..092ac0b297 100644
--- a/source4/build/pidl/parser.pm
+++ b/source4/build/pidl/parser.pm
@@ -818,8 +818,9 @@ sub ParseEnumPull($)
{
my($enum) = shift;
my($type_fn) = util::enum_type_fn($enum);
+ my($type_v_decl) = util::map_type(util::enum_type_fn($enum));
- pidl "\t$type_fn v;\n";
+ pidl "\t$type_v_decl v;\n";
start_flags($enum);
pidl "\tNDR_CHECK(ndr_pull_$type_fn(ndr, &v));\n";
pidl "\t*r = v;\n";
@@ -874,8 +875,9 @@ sub ParseBitmapPull($)
{
my($bitmap) = shift;
my($type_fn) = util::bitmap_type_fn($bitmap);
+ my($type_decl) = util::bitmap_type_decl($bitmap);
- pidl "\t$type_fn v;\n";
+ pidl "\t$type_decl v;\n";
start_flags($bitmap);
pidl "\tNDR_CHECK(ndr_pull_$type_fn(ndr, &v));\n";
pidl "\t*r = v;\n";
@@ -1298,7 +1300,7 @@ sub ParseTypedefPush($)
}
if ($e->{DATA}->{TYPE} eq "BITMAP") {
- my $type_decl = util::bitmap_type_fn($e->{DATA});
+ my $type_decl = util::bitmap_type_decl($e->{DATA});
pidl $static . "NTSTATUS ndr_push_$e->{NAME}(struct ndr_push *ndr, $type_decl r)";
pidl "\n{\n";
ParseTypePush($e->{DATA});
@@ -1349,7 +1351,7 @@ sub ParseTypedefPull($)
}
if ($e->{DATA}->{TYPE} eq "BITMAP") {
- my $type_decl = util::bitmap_type_fn($e->{DATA});
+ my $type_decl = util::bitmap_type_decl($e->{DATA});
pidl $static . "NTSTATUS ndr_pull_$e->{NAME}(struct ndr_pull *ndr, $type_decl *r)";
pidl "\n{\n";
ParseTypePull($e->{DATA});
@@ -1393,7 +1395,7 @@ sub ParseTypedefPrint($)
}
if ($e->{DATA}->{TYPE} eq "BITMAP") {
- my $type_decl = util::bitmap_type_fn($e->{DATA});
+ my $type_decl = util::bitmap_type_decl($e->{DATA});
pidl "void ndr_print_$e->{NAME}(struct ndr_print *ndr, const char *name, $type_decl r)";
pidl "\n{\n";
ParseTypePrint($e->{DATA});