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(GetNextLevel);
-use Parse::Pidl::Samba4 qw(is_intree);
+use Parse::Pidl::Samba4 qw(is_intree ElementStars ArrayBrackets);
use vars qw($VERSION);
$VERSION = '0.01';
} else {
HeaderType($element, $element->{TYPE}, "");
}
- pidl " ";
- 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) {
- $numstar-- if (scalar_is_reference($element->{TYPE}));
- }
- foreach my $l (@{$element->{LEVELS}}) {
- next unless ($l->{TYPE} eq "ARRAY");
- next if ($l->{IS_FIXED}) and
- not has_property($element, "charset");
- $numstar++;
- }
- pidl "*" foreach (1..$numstar);
+ pidl " ".ElementStars($element);
}
pidl $element->{NAME};
- foreach my $l (@{$element->{LEVELS}}) {
- next unless ($l->{TYPE} eq "ARRAY");
- next unless ($l->{IS_FIXED} and
- not has_property($element, "charset"));
- pidl "[$l->{SIZE_IS}]";
- }
+ pidl ArrayBrackets($element);
pidl ";";
if (defined $element->{PROPERTIES}) {