From 2ba67f2fe2f5ae2ec84b273ef46903e02ccec6d1 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 5 Jan 2019 10:12:33 -0700 Subject: [PATCH] Add getlogin stub --- src/header/unistd/mod.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/header/unistd/mod.rs b/src/header/unistd/mod.rs index 6be06d87b4..26a78fdf30 100644 --- a/src/header/unistd/mod.rs +++ b/src/header/unistd/mod.rs @@ -311,14 +311,21 @@ pub unsafe extern "C" fn gethostname(mut name: *mut c_char, mut len: size_t) -> 0 } -// #[no_mangle] -pub extern "C" fn getlogin() -> *mut c_char { - unimplemented!(); +#[no_mangle] +pub unsafe extern "C" fn getlogin() -> *mut c_char { + static mut LOGIN: [c_char; 256] = [0; 256]; + if getlogin_r(LOGIN.as_mut_ptr(), LOGIN.len()) == 0 { + LOGIN.as_mut_ptr() + } else { + ptr::null_mut() + } } -// #[no_mangle] +#[no_mangle] pub extern "C" fn getlogin_r(name: *mut c_char, namesize: size_t) -> c_int { - unimplemented!(); + //TODO: Determine correct getlogin result on Redox + unsafe { platform::errno = errno::ENOENT }; + -1 } #[no_mangle]