svn commit: samba r23248 - in branches/SAMBA_3_0/source/rpc_server: .

jerry at samba.org jerry at samba.org
Wed May 30 21:43:49 GMT 2007


Author: jerry
Date: 2007-05-30 21:43:48 +0000 (Wed, 30 May 2007)
New Revision: 23248

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23248

Log:
Merge echo pipe implementation chanegs from SAMBA_3_0_26
just to stay in sink.  This was more or less just for me 
to play with.


Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_echo_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_echo_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_echo_nt.c	2007-05-30 21:41:07 UTC (rev 23247)
+++ branches/SAMBA_3_0/source/rpc_server/srv_echo_nt.c	2007-05-30 21:43:48 UTC (rev 23248)
@@ -1,8 +1,9 @@
 /* 
  *  Unix SMB/CIFS implementation.
  *  RPC Pipe client / server routines for rpcecho
- *  Copyright (C) Tim Potter                   2003.
- *  Copyright (C) Jelmer Vernooij 			   2006.
+ *  Copyright (C) Tim Potter                   2003
+ *  Copyright (C) Jelmer Vernooij              2006
+ *  Copyright (C) Gerald (Jerry) Carter        2007
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -31,9 +32,9 @@
 
 /* Add one to the input and return it */
 
-void _echo_AddOne(pipes_struct *p, struct echo_AddOne *r)
+void _echo_AddOne(pipes_struct *p, struct echo_AddOne *r )
 {
-	DEBUG(10, ("_echo_add_one\n"));
+	DEBUG(10, ("_echo_AddOne\n"));
 
 	*r->out.out_data = r->in.in_data + 1;
 }
@@ -42,18 +43,26 @@
 
 void _echo_EchoData(pipes_struct *p, struct echo_EchoData *r)
 {
-	DEBUG(10, ("_echo_data\n"));
+	DEBUG(10, ("_echo_EchoData\n"));
 
-	memcpy(r->out.out_data, r->in.in_data, r->in.len);
+	if ( r->in.len == 0 ) {		
+		r->out.out_data = NULL;
+		return;
+	}
+
+	r->out.out_data = TALLOC(p->mem_ctx, r->in.len);	
+	memcpy( r->out.out_data, r->in.in_data, r->in.len );
+	return;	
 }
 
 /* Sink an array of data */
 
 void _echo_SinkData(pipes_struct *p, struct echo_SinkData *r)
 {
-	DEBUG(10, ("_sink_data\n"));
+	DEBUG(10, ("_echo_SinkData\n"));
 
 	/* My that was some yummy data! */
+	return;	
 }
 
 /* Source an array of data */
@@ -62,10 +71,20 @@
 {
 	uint32 i;
 
-	DEBUG(10, ("_source_data\n"));
+	DEBUG(10, ("_echo_SourceData\n"));
 
-	for (i = 0; i < r->in.len; i++)
+	if ( r->in.len == 0 ) {
+		r->out.data = NULL;		
+		return;
+	}
+
+	r->out.data = TALLOC(p->mem_ctx, r->in.len );
+
+	for (i = 0; i < r->in.len; i++ ) {		
 		r->out.data[i] = i & 0xff;
+	}
+	
+	return;	
 }
 
 void _echo_TestCall(pipes_struct *p, struct echo_TestCall *r)



More information about the samba-cvs mailing list