summaryrefslogtreecommitdiff
path: root/source4/build/pidl/Parse/Pidl/Samba/Header.pm
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/Parse/Pidl/Samba/Header.pm')
-rw-r--r--source4/build/pidl/Parse/Pidl/Samba/Header.pm12
1 files changed, 5 insertions, 7 deletions
diff --git a/source4/build/pidl/Parse/Pidl/Samba/Header.pm b/source4/build/pidl/Parse/Pidl/Samba/Header.pm
index ca67b7c09f..d88b37e229 100644
--- a/source4/build/pidl/Parse/Pidl/Samba/Header.pm
+++ b/source4/build/pidl/Parse/Pidl/Samba/Header.pm
@@ -59,14 +59,16 @@ sub HeaderElement($)
my $numstar = $element->{POINTERS};
foreach (@{$element->{ARRAY_LEN}})
{
- next if is_constant($_);
+ next if is_constant($_) and
+ not has_property($element, "charset");
$numstar++;
}
$numstar-- if Parse::Pidl::Typelist::scalar_is_reference($element->{TYPE});
pidl "*" foreach (1..$numstar);
pidl $element->{NAME};
foreach (@{$element->{ARRAY_LEN}}) {
- next unless is_constant($_);
+ next unless (is_constant($_) and
+ not has_property($element, "charset"));
pidl "[$_]";
}
@@ -199,11 +201,7 @@ sub HeaderType($$$)
}
if (has_property($e, "charset")) {
- if ($e->{POINTERS} > 0) {
- pidl "const char";
- } else {
- pidl "char";
- }
+ pidl "const char";
} else {
pidl mapType($e->{TYPE});
}