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