summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@suse.de>2012-01-13 13:51:22 -0800
committerKarolin Seeger <kseeger@samba.org>2012-01-23 21:30:06 +0100
commit9f700b8c346380bfe5080a49bf568cd1d6cf24d3 (patch)
treefc9a87b70fb1782cbea19cecaa1c4c68591ec2a1
parentacb826038488fe8850fa227917868d9e03f4c00e (diff)
downloadsamba-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.pm9
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"],
);
#####################################################################