svn commit: samba r19546 - in
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl: . Samba4/NDR
jelmer at samba.org
jelmer at samba.org
Sat Nov 4 02:51:05 GMT 2006
Author: jelmer
Date: 2006-11-04 02:51:03 +0000 (Sat, 04 Nov 2006)
New Revision: 19546
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19546
Log:
fix number of bytes pushed when using switch_type() set to enum types.
die() on invalid used of enum_type_fn()
Modified:
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm
Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2006-11-04 01:53:29 UTC (rev 19545)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2006-11-04 02:51:03 UTC (rev 19546)
@@ -1694,7 +1694,7 @@
pidl "int level;";
if (defined($switch_type)) {
if (Parse::Pidl::Typelist::typeIs($switch_type, "ENUM")) {
- $switch_type = Parse::Pidl::Typelist::enum_type_fn(getType($switch_type));
+ $switch_type = Parse::Pidl::Typelist::enum_type_fn(getType($switch_type)->{DATA});
}
pidl mapType($switch_type) . " _level;";
}
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm 2006-11-04 01:53:29 UTC (rev 19545)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm 2006-11-04 02:51:03 UTC (rev 19546)
@@ -153,6 +153,7 @@
sub enum_type_fn($)
{
my $enum = shift;
+ $enum->{TYPE} eq "ENUM" or die("not an enum");
if (has_property($enum->{PARENT}, "enum8bit")) {
return "uint8";
} elsif (has_property($enum->{PARENT}, "v1_enum")) {
More information about the samba-cvs
mailing list