mirror of
https://github.com/uutils/rust-users.git
synced 2026-06-10 15:48:37 -07:00
Improve unreachable error messages
This commit is contained in:
+12
-12
@@ -19,54 +19,54 @@ extern {
|
||||
/// Sets current user for the running process, requires root priviledges.
|
||||
pub fn set_current_uid(uid: uid_t) -> IOResult<()> {
|
||||
match unsafe { setuid(uid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("setuid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
/// Set current group for the running process, requires root priviledges.
|
||||
pub fn set_current_gid(gid: gid_t) -> IOResult<()> {
|
||||
match unsafe { setgid(gid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("setgid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
/// Set effective user for the running process, requires root priviledges.
|
||||
pub fn set_effective_uid(uid: uid_t) -> IOResult<()> {
|
||||
match unsafe { seteuid(uid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("seteuid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
/// Set effective user for the running process, requires root priviledges.
|
||||
pub fn set_effective_gid(gid: gid_t) -> IOResult<()> {
|
||||
match unsafe { setegid(gid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("setegid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
/// Atomically set current and effective user for the running process, requires root priviledges.
|
||||
pub fn set_both_uid(ruid: uid_t, euid: uid_t) -> IOResult<()> {
|
||||
match unsafe { setreuid(ruid, euid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("setreuid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
/// Atomically set current and effective group for the running process, requires root priviledges.
|
||||
pub fn set_both_gid(rgid: gid_t, egid: gid_t) -> IOResult<()> {
|
||||
match unsafe { setregid(rgid, egid) } {
|
||||
0 => Ok(()),
|
||||
0 => Ok(()),
|
||||
-1 => Err(IOError::last_os_error()),
|
||||
_ => unreachable!()
|
||||
n => unreachable!("setregid returned {}", n)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user