From 995205fc60f87e1a02aa1c6f309db55ae18e908a Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 6 Sep 2006 18:32:20 +0000 Subject: r18188: merge 3.0-libndr branch (This used to be commit 1115745caed3093c25d6be01ffee21819fb0a675) --- source3/libndr/ndr_basic.c | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) (limited to 'source3/libndr/ndr_basic.c') 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; } -- cgit