[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Mon Aug 16 02:31:40 MDT 2010


The branch, master has been updated
       via  b0b73ca... pidl:Samba4/NDR/Client.pm: correctly copy fixed size out arrays
      from  1fc3676... s4:samdb_set_password - fix formatting

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b0b73ca041ba3d90b3924b380abed4975e5354d9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 16 10:07:24 2010 +0200

    pidl:Samba4/NDR/Client.pm: correctly copy fixed size out arrays
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
index 299dfae..3296a67 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
@@ -295,15 +295,15 @@ sub HeaderProperties($$)
 	}
 }
 
-sub ParseCopyInArgument($$$$$$)
+sub ParseCopyArgument($$$$$)
 {
-	my ($self, $fn, $e, $r, $i, $invalid_response_type) = @_;
+	my ($self, $fn, $e, $r, $i) = @_;
 	my $l = $e->{LEVELS}[0];
 
 	if ($l->{TYPE} eq "ARRAY" and $l->{IS_FIXED} == 1) {
-		$self->pidl("memcpy(${r}in.$e->{NAME}, ${i}$e->{NAME}, sizeof(${r}in.$e->{NAME}));");
+		$self->pidl("memcpy(${r}$e->{NAME}, ${i}$e->{NAME}, sizeof(${r}$e->{NAME}));");
 	} else {
-		$self->pidl("${r}in.$e->{NAME} = ${i}$e->{NAME};");
+		$self->pidl("${r}$e->{NAME} = ${i}$e->{NAME};");
 	}
 }
 
@@ -449,17 +449,17 @@ sub ParseFunction_Send($$$$)
 	foreach my $e (@{$fn->{ELEMENTS}}) {
 		next unless (grep(/in/, @{$e->{DIRECTION}}));
 
-		$self->ParseCopyInArgument($fn, $e, "state->orig.", "_", "async");
+		$self->ParseCopyArgument($fn, $e, "state->orig.in.", "_");
 	}
 	$self->pidl("");
 
 	my $out_params = 0;
 	$self->pidl("/* Out parameters */");
-	foreach (@{$fn->{ELEMENTS}}) {
-		if (grep(/out/, @{$_->{DIRECTION}})) {
-			$self->pidl("state->orig.out.$_->{NAME} = _$_->{NAME};");
-			$out_params++;
-		}
+	foreach my $e (@{$fn->{ELEMENTS}}) {
+		next unless grep(/out/, @{$e->{DIRECTION}});
+
+		$self->ParseCopyArgument($fn, $e, "state->orig.out.", "_");
+		$out_params++;
 	}
 	$self->pidl("");
 
@@ -639,15 +639,15 @@ sub ParseFunction_Sync($$$$)
 	$self->pidl("struct $name r;");
 	$self->pidl("NTSTATUS status;");
 	$self->pidl("");
-	$self->pidl("/* In parameters */");
 
+	$self->pidl("/* In parameters */");
 	foreach my $e (@{$fn->{ELEMENTS}}) {
 		next unless (grep(/in/, @{$e->{DIRECTION}}));
 
-		$self->ParseCopyInArgument($fn, $e, "r.", "_", "sync");
+		$self->ParseCopyArgument($fn, $e, "r.in.", "_");
 	}
-
 	$self->pidl("");
+
 	$self->pidl("status = dcerpc_$name\_r(h, mem_ctx, &r);");
 	$self->pidl("if (!NT_STATUS_IS_OK(status)) {");
 	$self->indent;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list