Author: metze
Date: 2007-11-01 10:13:36 +0000 (Thu, 01 Nov 2007)
New Revision: 25778

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

Log:
use NT_STATUS_HAVE_NO_MEMORY() and NDR_CHECK() macros

metze
Modified:
   branches/SAMBA_4_0/source/librpc/ndr/ndr.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/ndr/ndr.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/ndr/ndr.c  2007-11-01 09:50:24 UTC (rev 
25777)
+++ branches/SAMBA_4_0/source/librpc/ndr/ndr.c  2007-11-01 10:13:36 UTC (rev 
25778)
@@ -728,10 +728,9 @@
 {
        struct ndr_pull *ndr;
        ndr = ndr_pull_init_blob(blob, mem_ctx);
-       if (!ndr) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       return fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
+       NT_STATUS_HAVE_NO_MEMORY(ndr);
+       NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p));
+       return NT_STATUS_OK;
 }
 
 /*
@@ -741,14 +740,9 @@
                                  ndr_pull_flags_fn_t fn)
 {
        struct ndr_pull *ndr;
-       NTSTATUS status;
-
        ndr = ndr_pull_init_blob(blob, 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));
        if (ndr->offset < ndr->data_size) {
                return ndr_pull_error(ndr, NDR_ERR_UNREAD_BYTES,
                                      "not all bytes consumed ofs[%u] size[%u]",
@@ -765,11 +759,10 @@
 {
        struct ndr_pull *ndr;
        ndr = ndr_pull_init_blob(blob, mem_ctx);
-       if (!ndr) {
-               return NT_STATUS_NO_MEMORY;
-       }
+       NT_STATUS_HAVE_NO_MEMORY(ndr);
        ndr_pull_set_switch_value(ndr, p, level);
-       return fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
+       NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p));
+       return NT_STATUS_OK;
 }
 
 /*
@@ -780,15 +773,10 @@
                             uint32_t level, ndr_pull_flags_fn_t fn)
 {
        struct ndr_pull *ndr;
-       NTSTATUS status;
-
        ndr = ndr_pull_init_blob(blob, mem_ctx);
-       if (!ndr) {
-               return NT_STATUS_NO_MEMORY;
-       }
+       NT_STATUS_HAVE_NO_MEMORY(ndr);
        ndr_pull_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));
        if (ndr->offset < ndr->data_size) {
                return ndr_pull_error(ndr, NDR_ERR_UNREAD_BYTES,
                                      "not all bytes consumed ofs[%u] size[%u]",

Reply via email to