summaryrefslogtreecommitdiff
path: root/source/pidl
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
commitee92d47b538e2f92e4c342893f04c598311e1021 (patch)
treed0d9cb860485b3da6b76fbc8922ae116401fe7d9 /source/pidl
parent98d8753d37e5ac6273316c83bf6f0e6851afd30a (diff)
downloadsamba-ee92d47b538e2f92e4c342893f04c598311e1021.tar.gz
r24517: move skipping pointer before an array logic into the
pointer loop as we do in other places metze
Diffstat (limited to 'source/pidl')
-rw-r--r--source/pidl/lib/Parse/Pidl/Samba4/Header.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/pidl/lib/Parse/Pidl/Samba4/Header.pm b/source/pidl/lib/Parse/Pidl/Samba4/Header.pm
index f03f7c0c43a..9d8b521a491 100644
--- a/source/pidl/lib/Parse/Pidl/Samba4/Header.pm
+++ b/source/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);