summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2018-12-06 09:35:15 +0100
committerAndreas Schneider <asn@cryptomilk.org>2018-12-07 15:33:38 +0100
commit7b60d72f67231e7675b0fad724edd59a0b3f4444 (patch)
tree661c1b07d008663ede1840d1b70bd3d951b55189 /librpc
parentd5f9bc45e22d687c03d77afe9ada21ed79366df3 (diff)
downloadsamba-7b60d72f67231e7675b0fad724edd59a0b3f4444.tar.gz
librpc:ndr: Give the optimizer hints for ndr_push_bytes()
Also remove the redundant check in ndr_push_DATA_BLOB. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Fri Dec 7 15:33:38 CET 2018 on sn-devel-144
Diffstat (limited to 'librpc')
-rw-r--r--librpc/ndr/ndr_basic.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index b488c7c22d9..3a5189570c5 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -719,10 +719,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_trailer_align(struct ndr_pull *ndr, size_t s
*/
_PUBLIC_ enum ndr_err_code ndr_push_bytes(struct ndr_push *ndr, const uint8_t *data, uint32_t n)
{
- if (n == 0) {
+ if (unlikely(n == 0)) {
return NDR_ERR_SUCCESS;
}
- if (data == NULL) {
+ if (unlikely(data == NULL)) {
return NDR_ERR_INVALID_POINTER;
}
NDR_PUSH_NEED_BYTES(ndr, n);
@@ -1335,10 +1335,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_DATA_BLOB(struct ndr_push *ndr, int ndr_flag
} else {
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, blob.length));
}
- if (blob.length == 0) {
- return NDR_ERR_SUCCESS;
- }
-
NDR_CHECK(ndr_push_bytes(ndr, blob.data, blob.length));
return NDR_ERR_SUCCESS;
}