summaryrefslogtreecommitdiffstats
path: root/crates
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@ifm.com>2022-06-21 07:53:01 +0200
committerMatthias Beyer <matthias.beyer@ifm.com>2022-08-06 09:47:01 +0200
commitd337c33adf8fecc4a49845a9b6a47c9f57aa05d2 (patch)
treec9f90175e5e1bad8b7709866a97e6cca90942b3e /crates
parentfd178124731a39aac6384be65218a33e4e137480 (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.rs46
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();