diff options
-rw-r--r-- | pidl/lib/Parse/Pidl/NDR.pm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm index 682715227f5..d65cbe70372 100644 --- a/pidl/lib/Parse/Pidl/NDR.pm +++ b/pidl/lib/Parse/Pidl/NDR.pm @@ -952,9 +952,19 @@ sub ContainsString($) if (property_matches($e, "flag", ".*STR_NULLTERM.*")) { return 1; } + if (exists($e->{LEVELS}) and $e->{LEVELS}->[0]->{TYPE} eq "ARRAY" and + ($e->{LEVELS}->[0]->{IS_FIXED} or $e->{LEVELS}->[0]->{IS_INLINE}) and + has_property($e, "charset")) + { + return 1; + } + foreach my $l (@{$e->{LEVELS}}) { return 1 if ($l->{TYPE} eq "ARRAY" and $l->{IS_ZERO_TERMINATED}); } + if (property_matches($e, "charset", ".*DOS.*")) { + return 1; + } return 0; } |