summaryrefslogtreecommitdiff
path: root/source4/pidl/lib/Parse
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-08-17 12:55:47 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:02:08 -0500
commita9531c0e23b622cb96c6c4a61a0df43d12a3cee8 (patch)
tree026a258bd69a190db0f007c0e34feed47b698137 /source4/pidl/lib/Parse
parent70b525a546da5deb8dbc2eff8c5334f9ec57497a (diff)
downloadsamba-a9531c0e23b622cb96c6c4a61a0df43d12a3cee8.tar.gz
samba-a9531c0e23b622cb96c6c4a61a0df43d12a3cee8.tar.bz2
samba-a9531c0e23b622cb96c6c4a61a0df43d12a3cee8.zip
r24517: move skipping pointer before an array logic into the
pointer loop as we do in other places metze (This used to be commit ee92d47b538e2f92e4c342893f04c598311e1021)
Diffstat (limited to 'source4/pidl/lib/Parse')
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/Header.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
index f03f7c0c43..9d8b521a49 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/Header.pm
@@ -10,7 +10,7 @@ use strict;
use Parse::Pidl qw(fatal);
use Parse::Pidl::Typelist qw(mapTypeName scalar_is_reference);
use Parse::Pidl::Util qw(has_property is_constant);
-use Parse::Pidl::NDR qw(GetPrevLevel);
+use Parse::Pidl::NDR qw(GetNextLevel);
use Parse::Pidl::Samba4 qw(is_intree);
use vars qw($VERSION);
@@ -68,6 +68,10 @@ sub HeaderElement($)
my $numstar = 0;
foreach my $l (@{$element->{LEVELS}}) {
next unless ($l->{TYPE} eq "POINTER");
+
+ my $nl = GetNextLevel($element, $l);
+ next if (defined($nl) and $nl->{TYPE} eq "ARRAY");
+
$numstar++;
}
if ($numstar >= 1) {
@@ -77,8 +81,6 @@ sub HeaderElement($)
next unless ($l->{TYPE} eq "ARRAY");
next if ($l->{IS_FIXED}) and
not has_property($element, "charset");
- my $pl = GetPrevLevel($element, $l);
- next if (defined($pl) and $pl->{TYPE} eq "POINTER");
$numstar++;
}
pidl "*" foreach (1..$numstar);