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

jelmer at samba.org jelmer at samba.org
Fri Feb 18 12:04:51 GMT 2005


Author: jelmer
Date: 2005-02-18 12:04:51 +0000 (Fri, 18 Feb 2005)
New Revision: 5443

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

Log:
Fix HeaderProperties(). Not re-enabling yet because I don't know why it 
was disabled in the first place.

Modified:
   branches/SAMBA_4_0/source/build/pidl/header.pm


Changeset:
Modified: branches/SAMBA_4_0/source/build/pidl/header.pm
===================================================================
--- branches/SAMBA_4_0/source/build/pidl/header.pm	2005-02-18 11:45:26 UTC (rev 5442)
+++ branches/SAMBA_4_0/source/build/pidl/header.pm	2005-02-18 12:04:51 UTC (rev 5443)
@@ -25,21 +25,26 @@
 
 #####################################################################
 # parse a properties list
-sub HeaderProperties($)
+sub HeaderProperties($$)
 {
     my($props) = shift;
+	my($ignores) = shift;
+	my $ret = "";
 
-    return;
+	return; 
 
-    foreach my $d (@{$props}) {
-	if (ref($d) ne "HASH") {
-	    pidl "/* [$d] */ ";
-	} else {
-	    foreach my $k (keys %{$d}) {
-		pidl "/* [$k($d->{$k})] */ ";
-	    }
+    foreach my $d (keys %{$props}) {
+		next if ($ignores->{$d});
+		if($props->{$d} ne "1") {
+			$ret.= "$d(" . $props->{$d} . "),";
+		} else {
+			$ret.="$d,";
+		}
 	}
-    }
+
+	if ($ret) {
+		pidl "/* [" . substr($ret, 0, -1) . "] */";
+	}
 }
 
 #####################################################################
@@ -48,7 +53,9 @@
 {
     my($element) = shift;
 
-    (defined $element->{PROPERTIES}) && HeaderProperties($element->{PROPERTIES});
+    if (defined $element->{PROPERTIES}) {
+		HeaderProperties($element->{PROPERTIES}, {"in" => 1, "out" => 1});
+	}
     pidl tabs();
     HeaderType($element, $element->{TYPE}, "");
     pidl " ";
@@ -151,7 +158,9 @@
 	my($name) = shift;
 	my %done = ();
 
-	(defined $union->{PROPERTIES}) && HeaderProperties($union->{PROPERTIES});
+	if (defined $union->{PROPERTIES}) {
+		HeaderProperties($union->{PROPERTIES}, {});
+	}
 	pidl "\nunion $name {\n";
 	$tab_depth++;
 	foreach my $e (@{$union->{ELEMENTS}}) {
@@ -235,9 +244,7 @@
 	    }
     }
 
-    if (!util::has_property($d, "public")) {
-	    return;
-    }
+    return unless util::has_property($d, "public");
 
 	my $tf = NdrParser::get_typefamily($d->{DATA}{TYPE});
 



More information about the samba-cvs mailing list