diff options
author | Andrew Tridgell <tridge@samba.org> | 2009-10-07 06:39:03 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2009-10-07 09:56:23 +1100 |
commit | 1d0fb1e0fba3cf4d04d4602ed4e717912804e5de (patch) | |
tree | 504f8e1908479780064fc64fa70bc8a34887cbab /pidl/lib | |
parent | 7816f9d7abf5203537c3bb7afb9511b00d2d974f (diff) | |
download | samba-1d0fb1e0fba3cf4d04d4602ed4e717912804e5de.tar.gz samba-1d0fb1e0fba3cf4d04d4602ed4e717912804e5de.tar.bz2 samba-1d0fb1e0fba3cf4d04d4602ed4e717912804e5de.zip |
tdr: teach TDR about uint1632 enums
TDB doesn't have NDR64, but it needs to know how to map the new types
from pidl
Diffstat (limited to 'pidl/lib')
-rw-r--r-- | pidl/lib/Parse/Pidl/Samba4/TDR.pm | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/TDR.pm b/pidl/lib/Parse/Pidl/Samba4/TDR.pm index a6b74a0ba4..c0749304ef 100644 --- a/pidl/lib/Parse/Pidl/Samba4/TDR.pm +++ b/pidl/lib/Parse/Pidl/Samba4/TDR.pm @@ -7,6 +7,7 @@ package Parse::Pidl::Samba4::TDR; use Parse::Pidl qw(fatal); use Parse::Pidl::Util qw(has_property ParseExpr is_constant); use Parse::Pidl::Samba4 qw(is_intree choose_header); +use Parse::Pidl::Typelist qw(mapTypeName); use Exporter; @ISA = qw(Exporter); @@ -195,15 +196,16 @@ sub ParserEnum($$$$) { my ($self,$e,$t,$p) = @_; my $bt = Parse::Pidl::Typelist::enum_type_fn($e); + my $mt = mapTypeName($bt); $self->fn_declare($p, "NTSTATUS tdr_$t\_$e->{NAME} (struct tdr_$t *tdr".typearg($t).", enum $e->{NAME} *v)"); $self->pidl("{"); if ($t eq "pull") { - $self->pidl("\t$bt\_t r;"); + $self->pidl("\t$mt r;"); $self->pidl("\tTDR_CHECK(tdr_$t\_$bt(tdr, mem_ctx, \&r));"); $self->pidl("\t*v = r;"); } elsif ($t eq "push") { - $self->pidl("\tTDR_CHECK(tdr_$t\_$bt(tdr, ($bt\_t *)v));"); + $self->pidl("\tTDR_CHECK(tdr_$t\_$bt(tdr, ($mt *)v));"); } elsif ($t eq "print") { $self->pidl("\t/* FIXME */"); } |