diff options
author | Matthias Beyer <matthias.beyer@ifm.com> | 2022-06-21 07:53:01 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@ifm.com> | 2022-08-06 09:47:01 +0200 |
commit | d337c33adf8fecc4a49845a9b6a47c9f57aa05d2 (patch) | |
tree | c9f90175e5e1bad8b7709866a97e6cca90942b3e /crates | |
parent | fd178124731a39aac6384be65218a33e4e137480 (diff) |
Fix (style): Replace match with function chaining
This patch replaces the match statements with functionally equivalent
function chaining, that result in less lines of code.
This is merely a style change.
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
Diffstat (limited to 'crates')
-rw-r--r-- | crates/common/tedge_utils/src/file.rs | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/crates/common/tedge_utils/src/file.rs b/crates/common/tedge_utils/src/file.rs index af7dbbb0..1ca804f9 100644 --- a/crates/common/tedge_utils/src/file.rs +++ b/crates/common/tedge_utils/src/file.rs @@ -141,22 +141,18 @@ impl PermissionEntry { } pub fn change_user_and_group(file: &Path, user: &str, group: &str) -> Result<(), FileError> { - let ud = match get_user_by_name(user) { - Some(user) => user.uid(), - None => { - return Err(FileError::UserNotFound { user: user.into() }); - } - }; + let ud = get_user_by_name(user) + .map(|u| u.uid()) + .ok_or_else(|| FileError::UserNotFound { user: user.into() })?; + let uid = get_metadata(Path::new(file))?.st_uid(); - let gd = match get_group_by_name(group) { - Some(group) => group.gid(), - None => { - return Err(FileError::GroupNotFound { - group: group.into(), - }); - } - }; + let gd = get_group_by_name(group) + .map(|g| g.gid()) + .ok_or_else(|| FileError::GroupNotFound { + group: group.into(), + })?; + let gid = get_metadata(Path::new(file))?.st_gid(); // if user and group are same as existing, then do not change @@ -168,12 +164,9 @@ pub fn change_user_and_group(file: &Path, user: &str, group: &str) -> Result<(), } fn change_user(file: &Path, user: &str) -> Result<(), FileError> { - let ud = match get_user_by_name(user) { - Some(user) => user.uid(), - None => { - return Err(FileError::UserNotFound { user: user.into() }); - } - }; + let ud = get_user_by_name(user) + .map(|u| u.uid()) + .ok_or_else(|| FileError::UserNotFound { user: user.into() })?; let uid = get_metadata(Path::new(file))?.st_uid(); @@ -186,14 +179,11 @@ fn change_user(file: &Path, user: &str) -> Result<(), FileError> { } fn change_group(file: &Path, group: &str) -> Result<(), FileError> { - let gd = match get_group_by_name(group) { - Some(group) => group.gid(), - None => { - return Err(FileError::GroupNotFound { - group: group.into(), - }); - } - }; + let gd = get_group_by_name(group) + .map(|g| g.gid()) + .ok_or_else(|| FileError::GroupNotFound { + group: group.into(), + })?; let gid = get_metadata(Path::new(file))?.st_gid(); |