Revert "TODO: pidl fix frstrans_Update..."
authorStefan Metzmacher <metze@samba.org>
Sun, 2 Jul 2017 22:38:09 +0000 (00:38 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 11:15:20 +0000 (13:15 +0200)
This reverts commit f692e51b438119d3c80b81df5bb2ed1f65e8684b.

pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm

index 91c62930ccce8d202fce40b36d3d0e1c0d2f99d1..1d102d8aec83867a19a14fceb66803f3a5bbff2a 100644 (file)
@@ -1066,26 +1066,12 @@ sub ParseMemCtxPullFlags($$$$)
 {
        my ($self, $e, $l) = @_;
 
-       my $alloc_array = 0;
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $alloc_array = 1;
-       }
-
        return undef unless ($l->{TYPE} eq "POINTER" or $l->{TYPE} eq "ARRAY");
        return undef if (($l->{TYPE} eq "POINTER") and ($l->{POINTER_TYPE} eq "ignore"));
 
        return undef unless ($l->{TYPE} ne "ARRAY" or ArrayDynamicallyAllocated($e,$l));
        return undef if has_fast_array($e, $l);
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $self->pidl("/* METZE: $e->{NAME} ParseMemCtxPullFlags */");
-       }
-       return undef if is_charset_array($e, $l) and not $alloc_array;
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $self->pidl("/* METZE: $e->{NAME} ParseMemCtxPullFlags */");
-       }
+       return undef if is_charset_array($e, $l);
 
        my $mem_flags = "0";
 
@@ -1111,16 +1097,8 @@ sub ParseMemCtxPullStart($$$$$)
        my $mem_c_ctx = $ptr_name;
        my $mem_c_flags = $self->ParseMemCtxPullFlags($e, $l);
 
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $self->pidl("/* METZE: $e->{NAME} ParseMemCtxPullStart ".defined($mem_c_flags)."*/");
-       }
        return unless defined($mem_c_flags);
 
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $self->pidl("/* METZE: $e->{NAME} ParseMemCtxPullStart ".defined($mem_c_flags)."*/");
-       }
        $self->pidl("$mem_r_ctx = NDR_PULL_GET_MEM_CTX($ndr);");
        $self->pidl("NDR_PULL_SET_MEM_CTX($ndr, $mem_c_ctx, $mem_c_flags);");
 }
@@ -1161,27 +1139,6 @@ sub ParseElementPullLevel
                return;
        }
 
-#'LEVELS' => [
-#              {
-#                'LEVEL_INDEX' => 0,
-#                'IS_VARYING' => 1,
-#                'IS_CONFORMANT' => 0,
-#                'SIZE_IS' => '261',
-#                'TYPE' => 'ARRAY',
-#                'IS_TO_NULL' => 0,
-#                'IS_FIXED' => 0,
-#                'IS_ZERO_TERMINATED' => 1,
-#                'IS_DEFERRED' => 0,
-#                'LENGTH_IS' => '261',
-#                'IS_INLINE' => 0,
-#                'IS_SURROUNDING' => 0
-#              },
-
-       if ($l->{TYPE} eq "ARRAY" and $l->{IS_VARYING} and not $l->{IS_CONFORMANT}
-           and defined($l->{SIZE_IS}) and defined($l->{LENGTH_IS})) {
-               $self->pidl("/* METZE: $e->{NAME} ParseElementPullLevel*/");
-       }
-
        if ($l->{TYPE} eq "ARRAY" and ($l->{IS_VARYING} or $l->{IS_CONFORMANT})) {
                $var_name = get_pointer_to($var_name);
        }
@@ -1195,12 +1152,10 @@ sub ParseElementPullLevel
                } elsif ($l->{TYPE} eq "ARRAY") {
                        my $length = $self->ParseArrayPullHeader($e, $l, $ndr, $var_name, $env);
                        $array_length = $length;
-                       my $array_name = $var_name;
 
                        my $nl = GetNextLevel($e, $l);
 
                        if (is_charset_array($e,$l)) {
-                               $self->ParseMemCtxPullStart($e, $l, $ndr, $array_name);
                                if ($l->{IS_ZERO_TERMINATED}) {
                                        $self->CheckStringTerminator($ndr, $e, $l, $length);
                                }
@@ -1209,16 +1164,12 @@ sub ParseElementPullLevel
                                } else {
                                        $self->pidl("NDR_CHECK(ndr_pull_charset($ndr, $ndr_flags, ".get_pointer_to($var_name).", $length, sizeof(" . mapTypeName($nl->{DATA_TYPE}) . "), CH_$e->{PROPERTIES}->{charset}));");
                                }
-                               $self->ParseMemCtxPullEnd($e, $l, $ndr);
                                return;
                        } elsif (has_fast_array($e, $l)) {
-                               $self->ParseMemCtxPullStart($e, $l, $ndr, $array_name);
-
                                if ($l->{IS_ZERO_TERMINATED}) {
                                        $self->CheckStringTerminator($ndr,$e,$l,$length);
                                }
                                $self->pidl("NDR_CHECK(ndr_pull_array_$nl->{DATA_TYPE}($ndr, $ndr_flags, $var_name, $length));");
-                               $self->ParseMemCtxPullEnd($e, $l, $ndr);
                                return;
                        }
                } elsif ($l->{TYPE} eq "POINTER") {