From ff595ad9c86076f19e0aa188de257ec4d54e31bd Mon Sep 17 00:00:00 2001 From: metze Date: Fri, 2 Nov 2007 10:26:49 +0000 Subject: use NT_STATUS_HAVE_NO_MEMORY() and NDR_CHECK() metze git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_4_0@25792 0c0555d6-39d7-0310-84fc-f1cc0bd64818 (This used to be commit f3dde8c7b73b619a54814bc6a862fa917455b624) --- source3/librpc/ndr/ndr.c | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/source3/librpc/ndr/ndr.c b/source3/librpc/ndr/ndr.c index 64706670fc..184a17d8f4 100644 --- a/source3/librpc/ndr/ndr.c +++ b/source3/librpc/ndr/ndr.c @@ -754,16 +754,11 @@ _PUBLIC_ NTSTATUS ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem NTSTATUS ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, const void *p, ndr_push_flags_fn_t fn) { - NTSTATUS status; struct ndr_push *ndr; ndr = ndr_push_init_ctx(mem_ctx); - if (!ndr) { - return NT_STATUS_NO_MEMORY; - } - status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p); - if (!NT_STATUS_IS_OK(status)) { - return status; - } + NT_STATUS_HAVE_NO_MEMORY(ndr); + + NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); *blob = ndr_push_blob(ndr); talloc_steal(mem_ctx, blob->data); @@ -778,17 +773,12 @@ NTSTATUS ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, const void * NTSTATUS ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, uint32_t level, ndr_push_flags_fn_t fn) { - NTSTATUS status; struct ndr_push *ndr; ndr = ndr_push_init_ctx(mem_ctx); - if (!ndr) { - return NT_STATUS_NO_MEMORY; - } + NT_STATUS_HAVE_NO_MEMORY(ndr); + ndr_push_set_switch_value(ndr, p, level); - status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p); - if (!NT_STATUS_IS_OK(status)) { - return status; - } + NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); *blob = ndr_push_blob(ndr); talloc_steal(mem_ctx, blob->data); -- cgit