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