diff options
Diffstat (limited to 'source4/build/pidl/Parse/Pidl/Samba/Header.pm')
-rw-r--r-- | source4/build/pidl/Parse/Pidl/Samba/Header.pm | 12 |
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}); } |