diff options
author | David Disseldorp <ddiss@suse.de> | 2012-01-13 13:51:22 -0800 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2012-01-23 21:30:06 +0100 |
commit | 9f700b8c346380bfe5080a49bf568cd1d6cf24d3 (patch) | |
tree | fc9a87b70fb1782cbea19cecaa1c4c68591ec2a1 | |
parent | acb826038488fe8850fa227917868d9e03f4c00e (diff) | |
download | samba-9f700b8c346380bfe5080a49bf568cd1d6cf24d3.tar.gz |
idl: add to_null property
to_null specifies that character conversion should only occur until the
null pointer in an array based string.
Signed-off-by: Jeremy Allison <jra@samba.org>
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Jan 14 00:51:54 CET 2012 on sn-devel-104
The last 5 patches address bug #8606 (Intermittent print job failures caused by
character conversion errors).
(cherry picked from commit c92513e218432ba3fb4afe6e93c8c1fc8f684368)
-rw-r--r-- | pidl/lib/Parse/Pidl/NDR.pm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm index d91c324b536..71e7228063e 100644 --- a/pidl/lib/Parse/Pidl/NDR.pm +++ b/pidl/lib/Parse/Pidl/NDR.pm @@ -171,6 +171,7 @@ sub GetElementLevelTable($$$) my $is_string = 0; my $is_fixed = 0; my $is_inline = 0; + my $is_to_null = 0; if ($d eq "*") { $is_conformant = 1; @@ -208,6 +209,10 @@ sub GetElementLevelTable($$$) delete($e->{PROPERTIES}->{string}); } + if (has_property($e, "to_null")) { + $is_to_null = 1; + } + push (@$order, { TYPE => "ARRAY", SIZE_IS => $size, @@ -218,7 +223,8 @@ sub GetElementLevelTable($$$) IS_VARYING => $is_varying, IS_CONFORMANT => $is_conformant, IS_FIXED => $is_fixed, - IS_INLINE => $is_inline + IS_INLINE => $is_inline, + IS_TO_NULL => $is_to_null }); } @@ -1099,6 +1105,7 @@ my %property_list = ( "noheader" => ["ELEMENT"], "charset" => ["ELEMENT"], "length_is" => ["ELEMENT"], + "to_null" => ["ELEMENT"], ); ##################################################################### |