summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);