From b4cef2524f3b2be11f905c4114e2e747a8101160 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 22 May 2018 18:33:50 +0200 Subject: Fix integer conversions --- uapi_bsd.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'uapi_bsd.go') diff --git a/uapi_bsd.go b/uapi_bsd.go index e949918..b2a7644 100644 --- a/uapi_bsd.go +++ b/uapi_bsd.go @@ -15,6 +15,7 @@ import ( "net" "os" "path" + "unsafe" ) const ( @@ -101,11 +102,13 @@ func UAPIListen(name string, file *os.File) (net.Listener, error) { go func(l *UAPIListener) { event := unix.Kevent_t{ - Ident: uint64(uapi.keventFd), Filter: unix.EVFILT_VNODE, Flags: unix.EV_ADD | unix.EV_ENABLE | unix.EV_ONESHOT, Fflags: unix.NOTE_WRITE, } + // Allow this assignment to work with both the 32-bit and 64-bit version + // of the above struct. If you know another way, please submit a patch. + *(*uintptr)(unsafe.Pointer(&event.Ident)) = uintptr(uapi.keventFd) events := make([]unix.Kevent_t, 1) n := 1 var kerr error -- cgit v1.2.3