summaryrefslogtreecommitdiff
path: root/source3/libndr/ndr_basic.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libndr/ndr_basic.c')
-rw-r--r--source3/libndr/ndr_basic.c36
1 files changed, 8 insertions, 28 deletions
diff --git a/source3/libndr/ndr_basic.c b/source3/libndr/ndr_basic.c
index 31a48f67c4..ce2af31784 100644
--- a/source3/libndr/ndr_basic.c
+++ b/source3/libndr/ndr_basic.c
@@ -22,15 +22,6 @@
#include "includes.h"
-/* Evil hack to convert Samba3 NTTIME's to Samba4 NTTIME's */
-
-union NTTIME_big {
- NTTIME s3;
- uint64_t s4;
-};
-
-
-
#define NDR_SVAL(ndr, ofs) (NDR_BE(ndr)?RSVAL(ndr->data,ofs):SVAL(ndr->data,ofs))
#define NDR_IVAL(ndr, ofs) (NDR_BE(ndr)?RIVAL(ndr->data,ofs):IVAL(ndr->data,ofs))
#define NDR_IVALS(ndr, ofs) (NDR_BE(ndr)?RIVALS(ndr->data,ofs):IVALS(ndr->data,ofs))
@@ -514,8 +505,7 @@ NTSTATUS ndr_push_ref_ptr(struct ndr_push *ndr, const void *p)
*/
NTSTATUS ndr_push_NTTIME(struct ndr_push *ndr, int ndr_flags, NTTIME t)
{
- union NTTIME_big b; b.s3 = t;
- NDR_CHECK(ndr_push_udlong(ndr, ndr_flags, b.s4));
+ NDR_CHECK(ndr_push_udlong(ndr, ndr_flags, t));
return NT_STATUS_OK;
}
@@ -524,10 +514,7 @@ NTSTATUS ndr_push_NTTIME(struct ndr_push *ndr, int ndr_flags, NTTIME t)
*/
NTSTATUS ndr_pull_NTTIME(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
{
- union NTTIME_big b;
- NDR_CHECK(ndr_pull_udlong(ndr, ndr_flags, &b.s4));
-
- *t = b.s3;
+ NDR_CHECK(ndr_pull_udlong(ndr, ndr_flags, t));
return NT_STATUS_OK;
}
@@ -536,10 +523,8 @@ NTSTATUS ndr_pull_NTTIME(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
*/
NTSTATUS ndr_push_NTTIME_1sec(struct ndr_push *ndr, int ndr_flags, NTTIME t)
{
- union NTTIME_big b; b.s3 = t;
-
- b.s4 /= 10000000;
- NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, b.s4));
+ t /= 10000000;
+ NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, t));
return NT_STATUS_OK;
}
@@ -548,10 +533,8 @@ NTSTATUS ndr_push_NTTIME_1sec(struct ndr_push *ndr, int ndr_flags, NTTIME t)
*/
NTSTATUS ndr_pull_NTTIME_1sec(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
{
- union NTTIME_big b;
- NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, &b.s4));
- b.s4 *= 10000000;
- *t = b.s3;
+ NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, t));
+ (*t) *= 10000000;
return NT_STATUS_OK;
}
@@ -560,9 +543,7 @@ NTSTATUS ndr_pull_NTTIME_1sec(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
*/
NTSTATUS ndr_pull_NTTIME_hyper(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
{
- union NTTIME_big b;
- NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, &b.s4));
- *t = b.s3;
+ NDR_CHECK(ndr_pull_hyper(ndr, ndr_flags, t));
return NT_STATUS_OK;
}
@@ -571,8 +552,7 @@ NTSTATUS ndr_pull_NTTIME_hyper(struct ndr_pull *ndr, int ndr_flags, NTTIME *t)
*/
NTSTATUS ndr_push_NTTIME_hyper(struct ndr_push *ndr, int ndr_flags, NTTIME t)
{
- union NTTIME_big b; b.s3 = t;
- NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, b.s4));
+ NDR_CHECK(ndr_push_hyper(ndr, ndr_flags, t));
return NT_STATUS_OK;
}