getpwnam: Give precise error message if we cannot lookup the user
This commit is contained in:
parent
bb0b2886e9
commit
659f7bd320
@ -82,6 +82,12 @@ fn getpwnam(username: &str) -> std::io::Result<Passwd> {
|
|||||||
let username_ptr = username_c.as_ptr();
|
let username_ptr = username_c.as_ptr();
|
||||||
let pwnamresult: *mut libc::passwd = unsafe { libc::getpwnam(username_ptr) };
|
let pwnamresult: *mut libc::passwd = unsafe { libc::getpwnam(username_ptr) };
|
||||||
if pwnamresult.is_null() {
|
if pwnamresult.is_null() {
|
||||||
|
if Error::last_os_error().raw_os_error().unwrap() == 0 {
|
||||||
|
return Err(Error::new(
|
||||||
|
ErrorKind::NotFound,
|
||||||
|
format!("The username '{}' was not found", username),
|
||||||
|
));
|
||||||
|
}
|
||||||
return Err(Error::new(
|
return Err(Error::new(
|
||||||
Error::last_os_error().kind(),
|
Error::last_os_error().kind(),
|
||||||
"Lookup of user failed: ".to_owned() +
|
"Lookup of user failed: ".to_owned() +
|
||||||
|
Loading…
Reference in New Issue
Block a user