//! Most of the nss functions are implement in c-gull rather than c-scape. //! But we provide a `getpwuid_r` stub definition here in no-std mode because //! it's referenced by libstd. libstd doesn't use it for anything other than //! a fallback for when the HOME environment variable is unsed, and HOME is //! set in any reasonable use case where this would be called, so a stub //! suffices. #[cfg(not(feature = "std"))] #[cfg(not(target_os = "wasi"))] use libc::{c_char, c_int, passwd, uid_t}; #[cfg(not(feature = "std"))] // Avoid conflicting with c-gull's more complete `getpwuid_r`. #[cfg(not(target_os = "wasi"))] #[no_mangle] unsafe extern "C" fn getpwuid_r( _uid: uid_t, _pwd: *mut passwd, _buf: *mut c_char, _buflen: usize, _result: *mut *mut passwd, ) -> c_int { libc!(libc::getpwuid_r(_uid, _pwd, _buf, _buflen, _result)); // `getpwuid_r` is currently implemented in c-gull. unimplemented!("getpwuid_r without the \"std\" feature") }