svn commit: samba r6461 - in branches/tmp/pidl2/source: build/pidl librpc/ndr

jelmer at samba.org jelmer at samba.org
Mon Apr 25 07:04:57 GMT 2005


Author: jelmer
Date: 2005-04-25 07:04:56 +0000 (Mon, 25 Apr 2005)
New Revision: 6461

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

Log:
Remove obsolete function + some more work on the generated 
NDR parser functions.

Modified:
   branches/tmp/pidl2/source/build/pidl/ndr_parser.pm
   branches/tmp/pidl2/source/librpc/ndr/ndr.c


Changeset:
Modified: branches/tmp/pidl2/source/build/pidl/ndr_parser.pm
===================================================================
--- branches/tmp/pidl2/source/build/pidl/ndr_parser.pm	2005-04-25 06:33:20 UTC (rev 6460)
+++ branches/tmp/pidl2/source/build/pidl/ndr_parser.pm	2005-04-25 07:04:56 UTC (rev 6461)
@@ -652,8 +652,9 @@
 				ParsePtrPush($e, $l, $var_name);
 			} elsif ($l->{TYPE} eq "ARRAY") {
 
+				ParseArrayPush($e, $l, $ndr, $var_name, "NDR_SCALARS|NDR_BUFFERS", $env); #FIXME
+				last; #FIXME
 				ParseArrayPush($e, $l, $ndr, $var_name, $ndr_flags, $env);
-				last; #FIXME
 			} elsif ($l->{TYPE} eq "SWITCH") {
 				ParseSwitchPush($e, $l, $ndr, $var_name, $ndr_flags, $env);
 			} elsif ($l->{TYPE} eq "DATA") {
@@ -910,8 +911,9 @@
 			if ($l->{TYPE} eq "SUBCONTEXT") {
 				($ndr,$var_name) = ParseSubcontextPullStart($e, $l, $ndr, $var_name, $ndr_flags, $env);
 			} elsif ($l->{TYPE} eq "ARRAY") {
+				ParseArrayPull($e, $l, $ndr, $var_name, "NDR_SCALARS|NDR_BUFFERS", $env); #FIXME
+				last; #FIXME
 				ParseArrayPull($e, $l, $ndr, $var_name, $ndr_flags, $env);
-				last; #FIXME
 			} elsif ($l->{TYPE} eq "POINTER") {
 				ParsePtrPull($e, $l, $ndr, $var_name);
 			} elsif ($l->{TYPE} eq "SWITCH") {

Modified: branches/tmp/pidl2/source/librpc/ndr/ndr.c
===================================================================
--- branches/tmp/pidl2/source/librpc/ndr/ndr.c	2005-04-25 06:33:20 UTC (rev 6460)
+++ branches/tmp/pidl2/source/librpc/ndr/ndr.c	2005-04-25 07:04:56 UTC (rev 6461)
@@ -244,28 +244,6 @@
 }
 
 /*
-  pull a constant size array of structures
-*/
-NTSTATUS ndr_pull_struct_array(struct ndr_pull *ndr, uint32_t count,
-			       size_t elsize, void **info,
-			       NTSTATUS (*pull_fn)(struct ndr_pull *, int, void *))
-{
-	int i;
-	char *base;
-
-	NDR_ALLOC_N_SIZE(ndr, *info, count, elsize);
-	base = (char *)*info;
-
-	for (i = 0; i < count; i++) {
-		ndr->data += ndr->offset;
-		ndr->offset = 0;
-		NDR_CHECK(pull_fn(ndr, NDR_SCALARS|NDR_BUFFERS, &base[count * elsize]));
-	}
-
-	return NT_STATUS_OK;
-}
-
-/*
   print a generic array
 */
 void ndr_print_array(struct ndr_print *ndr, const char *name, void *base, 
@@ -367,7 +345,7 @@
 		break;
 	}
 
-	/* we should all error codes to different status codes */
+	/* we should map all error codes to different status codes */
 	return NT_STATUS_INVALID_PARAMETER;
 }
 
@@ -600,7 +578,7 @@
 NTSTATUS ndr_check_array_size(struct ndr_pull *ndr, void *p, uint32_t size)
 {
 	uint32_t stored;
-	NDR_CHECK(ndr_token_retrieve(&ndr->array_size_list, p, &stored));
+	stored = ndr_token_peek(&ndr->array_size_list, p);
 	if (stored != size) {
 		return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
 				      "Bad array size - got %u expected %u\n",
@@ -638,7 +616,7 @@
 NTSTATUS ndr_check_array_length(struct ndr_pull *ndr, void *p, uint32_t length)
 {
 	uint32_t stored;
-	NDR_CHECK(ndr_token_retrieve(&ndr->array_length_list, p, &stored));
+	stored = ndr_token_peek(&ndr->array_length_list, p);
 	if (stored != length) {
 		return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, 
 				      "Bad array length - got %u expected %u\n",



More information about the samba-cvs mailing list