pidl:NDR/Parser: add "skip_noinit" element
authorStefan Metzmacher <metze@samba.org>
Wed, 21 Jun 2017 13:05:35 +0000 (15:05 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 26 Jun 2017 06:47:14 +0000 (08:47 +0200)
In future "skip" will be changed to initialize the element
with ZERO_STRUCT() on ndr_pull_*.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
pidl/lib/Parse/Pidl/NDR.pm
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm

index 4659e312691d0619922dd850d3dab976d436eb1b..003156e3a11ef7efce7195afe0cb4e12c4ba183d 100644 (file)
@@ -1104,6 +1104,7 @@ my %property_list = (
        "nopython"              => ["FUNCTION", "TYPEDEF", "STRUCT", "UNION", "ENUM", "BITMAP"],
        "todo"                  => ["FUNCTION"],
        "skip"                  => ["ELEMENT"],
+       "skip_noinit"           => ["ELEMENT"],
 
        # union
        "switch_is"             => ["ELEMENT"],
index eff5a1f139a6e4b6233b87420a7e404457d397af..a32e9eb4a0dfb0f352d0dff5a69eda253a95fcd0 100644 (file)
@@ -721,7 +721,7 @@ sub ParseElementPush($$$$$$)
 
        my $var_name = $env->{$e->{NAME}};
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                $self->pidl("/* [skip] '$var_name' */");
                return;
        }
@@ -1126,7 +1126,7 @@ sub ParseElementPullLevel
        my $ndr_flags = CalcNdrFlags($l, $primitives, $deferred);
        my $array_length = undef;
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                $self->pidl("/* [skip] '$var_name' */");
                return;
        }
@@ -1655,7 +1655,7 @@ sub DeclarePtrVariables($$)
 {
        my ($self,$e) = @_;
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                return;
        }
 
@@ -1676,7 +1676,7 @@ sub DeclareArrayVariables($$;$)
 {
        my ($self,$e,$pull) = @_;
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                return;
        }
 
@@ -1698,7 +1698,7 @@ sub DeclareArrayVariablesNoZero($$$)
 {
        my ($self,$e,$env) = @_;
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                return;
        }
 
@@ -1719,7 +1719,7 @@ sub DeclareMemCtxVariables($$)
 {
        my ($self,$e) = @_;
 
-       if (has_property($e, "skip")) {
+       if (has_property($e, "skip") or has_property($e, "skip_noinit")) {
                return;
        }