From db3423be55b86c511d1fe6e6e371549f9802a8b6 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 1 Dec 2022 18:03:00 -0700 Subject: [PATCH 1/2] redox: long is 32-bits on 32-bit systems --- src/unix/redox/mod.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index 3bb7b044d0c1b..6855171990016 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -1,8 +1,20 @@ pub type c_char = i8; -pub type c_long = i64; -pub type c_ulong = u64; pub type wchar_t = i32; +cfg_if! { + if #[cfg(target_pointer_width = "32")] { + pub type c_long = i32; + pub type c_ulong = u32; + } +} + +cfg_if! { + if #[cfg(target_pointer_width = "64")] { + pub type c_long = i64; + pub type c_ulong = u64; + } +} + pub type blkcnt_t = ::c_ulong; pub type blksize_t = ::c_long; pub type clock_t = ::c_long; From 73a70cb4933692a1b005e6291f33b89d73a03e29 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 2 Dec 2022 07:35:14 -0700 Subject: [PATCH 2/2] redox: make off_t and time_t long long --- src/unix/redox/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/unix/redox/mod.rs b/src/unix/redox/mod.rs index 6855171990016..afba67727799a 100644 --- a/src/unix/redox/mod.rs +++ b/src/unix/redox/mod.rs @@ -26,7 +26,7 @@ pub type ino_t = ::c_ulong; pub type mode_t = ::c_int; pub type nfds_t = ::c_ulong; pub type nlink_t = ::c_ulong; -pub type off_t = ::c_long; +pub type off_t = ::c_longlong; pub type pthread_t = *mut ::c_void; pub type pthread_attr_t = *mut ::c_void; pub type pthread_cond_t = *mut ::c_void; @@ -46,7 +46,7 @@ pub type socklen_t = u32; pub type speed_t = u32; pub type suseconds_t = ::c_int; pub type tcflag_t = u32; -pub type time_t = ::c_long; +pub type time_t = ::c_longlong; #[cfg_attr(feature = "extra_traits", derive(Debug))] pub enum timezone {}