svn commit: samba r25185 - in branches/SAMBA_4_0: .
source/pidl/lib/Parse/Pidl source/pidl/tests
jelmer at samba.org
jelmer at samba.org
Sat Sep 15 23:03:37 GMT 2007
Author: jelmer
Date: 2007-09-15 23:03:34 +0000 (Sat, 15 Sep 2007)
New Revision: 25185
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25185
Log:
Check that can_contain_deferred returns true if one of the members of a type can contain deferred data.
Modified:
branches/SAMBA_4_0/
branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm
branches/SAMBA_4_0/source/pidl/tests/ndr.pl
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...
Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm
===================================================================
--- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm 2007-09-15 20:24:35 UTC (rev 25184)
+++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm 2007-09-15 23:03:34 UTC (rev 25185)
@@ -289,15 +289,13 @@
return 1 if ($type->{TYPE} eq "DECLARE"); # assume the worst
- if ($type->{TYPE} eq "TYPEDEF") {
- return can_contain_deferred($type->{DATA});
- }
+ return can_contain_deferred($type->{DATA}) if ($type->{TYPE} eq "TYPEDEF");
return 0 unless defined($type->{ELEMENTS});
- foreach my $x (@{$type->{ELEMENTS}}) {
- return 1 if ($x->{POINTERS});
- return 1 if (can_contain_deferred ($x));
+ foreach (@{$type->{ELEMENTS}}) {
+ return 1 if ($_->{POINTERS});
+ return 1 if (can_contain_deferred ($_->{TYPE}));
}
return 0;
Modified: branches/SAMBA_4_0/source/pidl/tests/ndr.pl
===================================================================
--- branches/SAMBA_4_0/source/pidl/tests/ndr.pl 2007-09-15 20:24:35 UTC (rev 25184)
+++ branches/SAMBA_4_0/source/pidl/tests/ndr.pl 2007-09-15 23:03:34 UTC (rev 25185)
@@ -4,7 +4,7 @@
use strict;
use warnings;
-use Test::More tests => 33;
+use Test::More tests => 34;
use FindBin qw($RealBin);
use lib "$RealBin";
use Util;
@@ -266,3 +266,5 @@
ok(not can_contain_deferred({ TYPE => "TYPEDEF",
DATA => { TYPE => "STRUCT",
ELEMENTS => [ { TYPE => "uint32" } ]}}));
+ok(can_contain_deferred({ TYPE => "STRUCT",
+ ELEMENTS => [ { TYPE => "someunknowntype" } ]}));
More information about the samba-cvs
mailing list