summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2020-12-04 15:26:12 +0200
committerManos Pitsidianakis <el13635@mail.ntua.gr>2020-12-04 15:26:12 +0200
commitc903d4c2975509299fd3d2600a0c4c2102f445d0 (patch)
tree3fd2637191c4eb9660a9260d7d5b42b16fca696b
parenta9eb29d43d04e18e4c24e19762e1724077a916c0 (diff)
Fix compilation on aarch64 targetHEADmaster
Adds configuration attributes to use u8 byte pointers in aarch64. Closes #22 build fails on aarch64-linux
-rw-r--r--src/main.rs22
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);