summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-12-08 11:30:26 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:06:26 -0500
commit87d5e061e0ddd41e21a60b8934db339e5ef5f306 (patch)
tree6958770e8f6bfd77bc782e81de60fd8ea6c3e729 /source4/librpc/ndr
parent58a83c60410a588e671891af5891342f7987a3cb (diff)
downloadsamba-87d5e061e0ddd41e21a60b8934db339e5ef5f306.tar.gz
samba-87d5e061e0ddd41e21a60b8934db339e5ef5f306.tar.bz2
samba-87d5e061e0ddd41e21a60b8934db339e5ef5f306.zip
r4102: more uint64 vs HYPER_T fixes
NOTE: [u]int64 uses 4 Byte alignment and HYPER_T uses 8 Byte alignment metze (This used to be commit 717454eb2fd2bf90e67074acefdae5304cd7433f)
Diffstat (limited to 'source4/librpc/ndr')
-rw-r--r--source4/librpc/ndr/libndr.h12
-rw-r--r--source4/librpc/ndr/ndr_basic.c4
2 files changed, 11 insertions, 5 deletions
diff --git a/source4/librpc/ndr/libndr.h b/source4/librpc/ndr/libndr.h
index 1cec8d4c2a..fe817bfdcd 100644
--- a/source4/librpc/ndr/libndr.h
+++ b/source4/librpc/ndr/libndr.h
@@ -200,12 +200,18 @@ enum ndr_err_code {
#define ndr_size_uint16(t, p, flags) (NDR_SIZE_ALIGN(t, 2, flags) + 2)
#define ndr_size_int32(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
#define ndr_size_uint32(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
-#define ndr_size_int64(t, p, flags) (NDR_SIZE_ALIGN(t, 8, flags) + 8)
-#define ndr_size_uint64(t, p, flags) (NDR_SIZE_ALIGN(t, 8, flags) + 8)
#define ndr_size_ptr(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 4)
+/*
+ * [u]int64 uses 4 Byte alignment
+ * and HYPER_T uses 8 Byte alignment
+ */
+#define ndr_size_int64(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 8)
+#define ndr_size_uint64(t, p, flags) (NDR_SIZE_ALIGN(t, 4, flags) + 8)
+#define ndr_size_HYPER_T(t, p, flags) (NDR_SIZE_ALIGN(t, 8, flags) + 8)
+
#define ndr_size_NTTIME(t, p, flags) ndr_size_uint64(t, p, flags)
-#define ndr_size_NTTIME_1sec(t, p, flags) ndr_size_NTTIME(t, p, flags)
+#define ndr_size_NTTIME_1sec(t, p, flags) ndr_size_HYPER_T(t, p, flags)
#define ndr_size_WERROR(t, p, flags) ndr_size_uint32(t, p, flags)
#define ndr_size_NTSTATUS(t, p, flags) ndr_size_uint32(t, p, flags)
diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c
index 3959e91563..315dc76059 100644
--- a/source4/librpc/ndr/ndr_basic.c
+++ b/source4/librpc/ndr/ndr_basic.c
@@ -960,7 +960,7 @@ NTSTATUS ndr_pull_NTTIME(struct ndr_pull *ndr, NTTIME *t)
NTSTATUS ndr_push_NTTIME_1sec(struct ndr_push *ndr, NTTIME t)
{
t /= 10000000;
- NDR_CHECK(ndr_push_uint64(ndr, t));
+ NDR_CHECK(ndr_push_HYPER_T(ndr, t));
return NT_STATUS_OK;
}
@@ -969,7 +969,7 @@ NTSTATUS ndr_push_NTTIME_1sec(struct ndr_push *ndr, NTTIME t)
*/
NTSTATUS ndr_pull_NTTIME_1sec(struct ndr_pull *ndr, NTTIME *t)
{
- NDR_CHECK(ndr_pull_uint64(ndr, t));
+ NDR_CHECK(ndr_pull_HYPER_T(ndr, t));
(*t) *= 10000000;
return NT_STATUS_OK;
}