svn commit: samba r5477 - in branches/SAMBA_4_0/source/build/pidl: .

jelmer at samba.org jelmer at samba.org
Sun Feb 20 21:45:52 GMT 2005


Author: jelmer
Date: 2005-02-20 21:45:51 +0000 (Sun, 20 Feb 2005)
New Revision: 5477

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

Log:
- Move some more of the typelist stuff out of ndr.pm
- Remember INTERFACEs as well (they can be types in DCOM)

Modified:
   branches/SAMBA_4_0/source/build/pidl/ndr.pm
   branches/SAMBA_4_0/source/build/pidl/pidl.pl
   branches/SAMBA_4_0/source/build/pidl/typelist.pm


Changeset:
Modified: branches/SAMBA_4_0/source/build/pidl/ndr.pm
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/ndr.pm	2005-02-20 21:02:30 UTC (rev 5476)
+++ branches/SAMBA_4_0/source/build/pidl/ndr.pm	2005-02-20 21:45:51 UTC (rev 5477)
@@ -2092,7 +2092,6 @@
 
 	foreach my $d (@{$x->{DATA}}) {
 		if (($d->{TYPE} eq "DECLARE") or ($d->{TYPE} eq "TYPEDEF")) {
-			typelist::addType($d);
 			if ($d->{DATA}->{TYPE} eq "STRUCT" or $d->{DATA}->{TYPE} eq "UNION") {
 				CheckPointerTypes($d->{DATA}, $x->{PROPERTIES}->{pointer_default});
 			}

Modified: branches/SAMBA_4_0/source/build/pidl/pidl.pl
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/pidl.pl	2005-02-20 21:02:30 UTC (rev 5476)
+++ branches/SAMBA_4_0/source/build/pidl/pidl.pl	2005-02-20 21:45:51 UTC (rev 5477)
@@ -23,6 +23,7 @@
 use ndr;
 use eparser;
 use validator;
+use typelist;
 use util;
 use template;
 use swig;
@@ -138,6 +139,10 @@
 		print IdlDump::Dump($pidl);
 	}
 
+	if ($opt_header || $opt_parser) {
+		typelist::LoadIdl($pidl);
+	}
+
 	if ($opt_header) {
 		my($header) = util::ChangeExtension($output, ".h");
 		util::FileSave($header, IdlHeader::Parse($pidl));

Modified: branches/SAMBA_4_0/source/build/pidl/typelist.pm
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/typelist.pm	2005-02-20 21:02:30 UTC (rev 5476)
+++ branches/SAMBA_4_0/source/build/pidl/typelist.pm	2005-02-20 21:45:51 UTC (rev 5477)
@@ -132,6 +132,21 @@
 	die("Unknown type $dt->{DATA}->{TYPE}");
 }
 
+sub LoadIdl($)
+{
+	my $idl = shift;
+
+	foreach my $x (@{$idl}) {
+		next if $x->{TYPE} ne "INTERFACE";
+		addType($x);
+		foreach my $y (@{$x->{DATA}}) {
+			addType($y) if (
+				$y->{TYPE} eq "TYPEDEF" 
+			 or $y->{TYPE} eq "DECLARE");
+		}
+	}
+}
+
 RegisterPrimitives();
 
 



More information about the samba-cvs mailing list