From 71f3c0924123e7eac95abd1331e4553005f2da81 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Sun, 26 Feb 2017 21:28:00 +0000 Subject: [PATCH] Fixes nix-rust/nix#532 --- src/sys/event.rs | 14 ++++++++++---- src/sys/termios.rs | 6 +++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/sys/event.rs b/src/sys/event.rs index 3e2a6d43c9..494c12dd47 100644 --- a/src/sys/event.rs +++ b/src/sys/event.rs @@ -22,8 +22,14 @@ pub struct KEvent { target_os = "dragonfly", target_os = "macos", target_os = "ios"))] type type_of_udata = *mut ::c_void; +#[cfg(any(target_os = "openbsd", target_os = "freebsd", + target_os = "dragonfly", target_os = "macos", + target_os = "ios"))] +type type_of_data = libc::intptr_t; #[cfg(any(target_os = "netbsd"))] type type_of_udata = intptr_t; +#[cfg(any(target_os = "netbsd"))] +type type_of_data = libc::int64_t; #[cfg(not(target_os = "netbsd"))] type type_of_event_filter = i16; @@ -58,9 +64,9 @@ pub enum EventFilter { } #[cfg(target_os = "netbsd")] -type type_of_event_filter = i32; +type type_of_event_filter = libc::uint32_t; #[cfg(target_os = "netbsd")] -#[repr(u32)] +#[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq)] pub enum EventFilter { EVFILT_READ = libc::EVFILT_READ, @@ -216,7 +222,7 @@ impl KEvent { filter: filter as type_of_event_filter, flags: flags.bits(), fflags: fflags.bits(), - data: data, + data: data as type_of_data, udata: udata as type_of_udata } } } @@ -238,7 +244,7 @@ impl KEvent { } pub fn data(&self) -> intptr_t { - self.kevent.data + self.kevent.data as intptr_t } pub fn udata(&self) -> intptr_t { diff --git a/src/sys/termios.rs b/src/sys/termios.rs index db80cc2dca..6ff7774751 100644 --- a/src/sys/termios.rs +++ b/src/sys/termios.rs @@ -158,7 +158,7 @@ mod ffi { B7200, B14400, B28800, B57600, B76800, B115200, B230400}; - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] use libc::{B460800, B921600}; match s { @@ -185,9 +185,9 @@ mod ffi { B76800 => BaudRate::B76800, B115200 => BaudRate::B115200, B230400 => BaudRate::B230400, - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] B460800 => BaudRate::B460800, - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] B921600 => BaudRate::B921600, b @ _ => unreachable!("Invalid baud constant: {}", b), }