r5446: fix pulling of arrays in EnumXXX functions
authorStefan Metzmacher <metze@samba.org>
Fri, 18 Feb 2005 17:24:21 +0000 (17:24 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:10:46 +0000 (13:10 -0500)
metze
(This used to be commit 0aea8522d7ddaf1ce4cc708c13888e44d14cda32)

source4/librpc/ndr/ndr_spoolss_buf.c

index 0e515339415879b76f3d65dcc6e2a8d5e68d506a..e481503ccf8d4b21cdc5f3d62b08ecf5acbcc624 100644 (file)
@@ -56,6 +56,8 @@ NTSTATUS pull_spoolss_FormInfoArray(DATA_BLOB *blob, TALLOC_CTX *mem_ctx,
        }
        NDR_ALLOC_N(ndr, *info, count);
        for (i=0;i<count;i++) {
+               ndr->data += ndr->offset;
+               ndr->offset = 0;
                NDR_CHECK(ndr_pull_spoolss_FormInfo(ndr, NDR_SCALARS|NDR_BUFFERS, level, &(*info)[i]));
        }
        return NT_STATUS_OK;
@@ -73,6 +75,8 @@ NTSTATUS pull_spoolss_JobInfoArray(DATA_BLOB *blob, TALLOC_CTX *mem_ctx,
        }
        NDR_ALLOC_N(ndr, *info, count);
        for (i=0;i<count;i++) {
+               ndr->data += ndr->offset;
+               ndr->offset = 0;
                NDR_CHECK(ndr_pull_spoolss_JobInfo(ndr, NDR_SCALARS|NDR_BUFFERS, level, &(*info)[i]));
        }
        return NT_STATUS_OK;
@@ -90,6 +94,8 @@ NTSTATUS pull_spoolss_DriverInfoArray(DATA_BLOB *blob, TALLOC_CTX *mem_ctx,
        }
        NDR_ALLOC_N(ndr, *info, count);
        for (i=0;i<count;i++) {
+               ndr->data += ndr->offset;
+               ndr->offset = 0;
                NDR_CHECK(ndr_pull_spoolss_DriverInfo(ndr, NDR_SCALARS|NDR_BUFFERS, level, &(*info)[i]));
        }
        return NT_STATUS_OK;