From a9f5360b82f9ad96562c0715aba41aaa4f88cb9d Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Thu, 17 Aug 2023 14:03:52 +0200 Subject: [PATCH] shorten code a tiny bit Ends up with a rather long pattern guard but does avoid the return case duplication... Signed-off-by: Wolfgang Bumiller --- pbs-client/src/pxar/extract.rs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pbs-client/src/pxar/extract.rs b/pbs-client/src/pxar/extract.rs index 37399f17..4eb6fb90 100644 --- a/pbs-client/src/pxar/extract.rs +++ b/pbs-client/src/pxar/extract.rs @@ -565,10 +565,9 @@ impl Extractor { match nix::unistd::symlinkat(link, Some(parent), file_name) { Ok(()) => {} - Err(err @ nix::errno::Errno::EEXIST) => { - if !self.overwrite_flags.contains(OverwriteFlags::SYMLINK) { - return Err(err.into()); - } + Err(nix::errno::Errno::EEXIST) + if self.overwrite_flags.contains(OverwriteFlags::SYMLINK) => + { // Never unlink directories let flag = nix::unistd::UnlinkatFlags::NoRemoveDir; nix::unistd::unlinkat(Some(parent), file_name, flag)?; @@ -605,10 +604,9 @@ impl Extractor { match dolink() { Ok(()) => {} - Err(err @ nix::errno::Errno::EEXIST) => { - if !self.overwrite_flags.contains(OverwriteFlags::HARDLINK) { - return Err(err.into()); - } + Err(nix::errno::Errno::EEXIST) + if self.overwrite_flags.contains(OverwriteFlags::HARDLINK) => + { // Never unlink directories let flag = nix::unistd::UnlinkatFlags::NoRemoveDir; nix::unistd::unlinkat(Some(parent), file_name, flag)?;