idl: add to_null property
authorDavid Disseldorp <ddiss@suse.de>
Fri, 13 Jan 2012 21:51:22 +0000 (13:51 -0800)
committerKarolin Seeger <kseeger@samba.org>
Mon, 16 Jan 2012 19:48:39 +0000 (20:48 +0100)
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).

pidl/lib/Parse/Pidl/NDR.pm

index d91c324b536ebaf030b56eaded9e5de14eefeadb..71e7228063e05c07205516493f5cd9fb1a50cab1 100644 (file)
@@ -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"],
 );
 
 #####################################################################