diff --git a/src/main.rs b/src/main.rs index e5ae7d0..870006c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -126,6 +126,8 @@ async fn main() -> Result<(), Box> { debug!("Logger initialised"); //TODO: Parse config first print_stats(); + + debug!("{:?}",sys::user::get_users()); #[cfg(feature="watcher")] { diff --git a/src/sys/user.rs b/src/sys/user.rs index f964b45..39a87e0 100644 --- a/src/sys/user.rs +++ b/src/sys/user.rs @@ -39,6 +39,7 @@ pub fn get_users() -> std::vec::Vec { } let _lock = MUTEX.lock().expect("poisoned"); + let _end = PhantomDrop::new((), |_| endpwent()); loop { let passwd = getpwent(); @@ -55,8 +56,8 @@ pub fn get_users() -> std::vec::Vec { ); users.push(Passwd{ - gid: 1, - uid: 2, + gid: my_passwd.pw_gid, + uid: my_passwd.pw_uid, home: from_cstr!( my_passwd.pw_dir, "User {}'s home ({}) has invalid UTF-8 characters, skipping", @@ -70,7 +71,6 @@ pub fn get_users() -> std::vec::Vec { name }); } - endpwent(); } return users; }