r7118: allways pull scalars and buffers when pulling the subcontext context
authorStefan Metzmacher <metze@samba.org>
Mon, 30 May 2005 17:58:12 +0000 (17:58 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:17:19 +0000 (13:17 -0500)
(this, is not the full fix, still doesn't work :-( )

metze
(This used to be commit 9a858b5614db8dfed13f76099bf042182dfa4a0c)

source4/build/pidl/ndr_parser.pm

index edc6df31ad4d1fb9d982b5b4e8b288d221c16839..b01e7e2e4ca5c03f51561a458d6d02b7cd1e65e2 100644 (file)
@@ -601,9 +601,9 @@ sub ParseElementPushLevel
        my $ndr_flags = CalcNdrFlags($l, $primitives, $deferred);
 
        if (defined($ndr_flags)) {
-           if ($l->{TYPE} eq "SUBCONTEXT") {
+               if ($l->{TYPE} eq "SUBCONTEXT") {
                        $ndr = ParseSubcontextPushStart($e, $l, $ndr, $var_name, $ndr_flags);
-                       ParseElementPushLevel($e, Ndr::GetNextLevel($e, $l), $ndr, $var_name, $env, $primitives, $deferred);
+                       ParseElementPushLevel($e, Ndr::GetNextLevel($e, $l), $ndr, $var_name, $env, 1, 1);
                        ParseSubcontextPushEnd($e, $l, $ndr_flags);
                } elsif ($l->{TYPE} eq "POINTER") {
                        ParsePtrPush($e, $l, $var_name);
@@ -923,9 +923,9 @@ sub ParseElementPullLevel
        # Only pull something if there's actually something to be pulled
        if (defined($ndr_flags)) {
                if ($l->{TYPE} eq "SUBCONTEXT") {
-                               ($ndr,$var_name) = ParseSubcontextPullStart($e, $l, $ndr, $var_name, $ndr_flags, $env);
-                               ParseElementPullLevel($e,Ndr::GetNextLevel($e,$l), $ndr, $var_name, $env, $primitives, $deferred);
-                               ParseSubcontextPullEnd($e, $l);
+                       ($ndr,$var_name) = ParseSubcontextPullStart($e, $l, $ndr, $var_name, $ndr_flags, $env);
+                       ParseElementPullLevel($e,Ndr::GetNextLevel($e,$l), $ndr, $var_name, $env, 1, 1);
+                       ParseSubcontextPullEnd($e, $l);
                } elsif ($l->{TYPE} eq "ARRAY") {
                        my $length = ParseArrayPullHeader($e, $l, $ndr, $var_name, $env);