diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-12-04 15:26:12 +0200 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2020-12-04 15:26:12 +0200 |
commit | c903d4c2975509299fd3d2600a0c4c2102f445d0 (patch) | |
tree | 3fd2637191c4eb9660a9260d7d5b42b16fca696b | |
parent | a9eb29d43d04e18e4c24e19762e1724077a916c0 (diff) |
Fix compilation on aarch64 target
Adds configuration attributes to use u8 byte pointers in aarch64.
Closes #22 build fails on aarch64-linux
-rw-r--r-- | src/main.rs | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs index 21796b8..08683f3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -57,8 +57,16 @@ pub mod username { /* taken from whoami-0.1.1 */ fn getpwuid( pw_uid: u32, - #[cfg(not(all(target_arch = "arm", target_pointer_width = "32")))] buffer: &mut [i8; 16384], - #[cfg(all(target_arch = "arm", target_pointer_width = "32"))] buffer: &mut [u8; 16384], + #[cfg(not(any( + all(target_arch = "arm", target_pointer_width = "32"), + target_arch = "aarch64" + )))] + buffer: &mut [i8; 16384], + #[cfg(any( + all(target_arch = "arm", target_pointer_width = "32"), + target_arch = "aarch64" + ))] + buffer: &mut [u8; 16384], ) -> Option<libc::passwd> { let mut pwentp = null_mut(); #[cfg(any( @@ -116,9 +124,15 @@ pub mod username { } pub fn username(uid: u32) -> String { - #[cfg(not(all(target_arch = "arm", target_pointer_width = "32")))] + #[cfg(not(any( + all(target_arch = "arm", target_pointer_width = "32"), + target_arch = "aarch64" + )))] let mut buffer = [0i8; 16384]; // from the man page - #[cfg(all(target_arch = "arm", target_pointer_width = "32"))] + #[cfg(any( + all(target_arch = "arm", target_pointer_width = "32"), + target_arch = "aarch64" + ))] let mut buffer = [0u8; 16384]; // from the man page let pwent = getpwuid(uid, &mut buffer); |