svn commit: samba r24489 - in branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl: .

metze at samba.org metze at samba.org
Thu Aug 16 13:34:55 GMT 2007


Author: metze
Date: 2007-08-16 13:34:54 +0000 (Thu, 16 Aug 2007)
New Revision: 24489

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24489

Log:
only typedef enum { ... } foo; enum's should look
for has_properties() of $enum->{PARENT}

metze
Modified:
   branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm


Changeset:
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-08-16 13:29:38 UTC (rev 24488)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Typelist.pm	2007-08-16 13:34:54 UTC (rev 24489)
@@ -174,8 +174,18 @@
 {
 	my $enum = shift;
 	$enum->{TYPE} eq "ENUM" or die("not an enum");
-	if (has_property($enum->{PARENT}, "enum8bit")) {
+
+	# for typedef enum { } we need to check $enum->{PARENT}
+	if (has_property($enum, "enum8bit")) {
 		return "uint8";
+	} elsif (has_property($enum, "enum16bit")) {
+		return "uint16";
+	} elsif (has_property($enum, "v1_enum")) {
+		return "uint32";
+	} elsif (has_property($enum->{PARENT}, "enum8bit")) {
+		return "uint8";
+	} elsif (has_property($enum->{PARENT}, "enum16bit")) {
+		return "uint16";
 	} elsif (has_property($enum->{PARENT}, "v1_enum")) {
 		return "uint32";
 	}



More information about the samba-cvs mailing list