[pbs-devel] [PATCH proxmox-backup 3/8] clippy: rewrite comparison chains

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Jan 20 17:23:50 CET 2021


chunk_stream one can be collapsed, since split == split_to with at set
to buffer.len() anyway.

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
 src/api2/backup/environment.rs | 4 +++-
 src/backup/chunk_stream.rs     | 7 ++-----
 src/config/network/parser.rs   | 1 +
 src/tools/acl.rs               | 6 ++++--
 4 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/api2/backup/environment.rs b/src/api2/backup/environment.rs
index 53fd76a2..38061816 100644
--- a/src/api2/backup/environment.rs
+++ b/src/api2/backup/environment.rs
@@ -185,7 +185,9 @@ impl BackupEnvironment {
 
         if size > data.chunk_size {
             bail!("fixed writer '{}' - got large chunk ({} > {}", data.name, size, data.chunk_size);
-        } else if size < data.chunk_size {
+        }
+
+        if size < data.chunk_size {
             data.small_chunk_count += 1;
             if data.small_chunk_count > 1 {
                 bail!("fixed writer '{}' - detected multiple end chunks (chunk size too small)");
diff --git a/src/backup/chunk_stream.rs b/src/backup/chunk_stream.rs
index 2c4040c4..dd37832b 100644
--- a/src/backup/chunk_stream.rs
+++ b/src/backup/chunk_stream.rs
@@ -98,11 +98,8 @@ where
     fn poll_next(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Result<BytesMut, S::Error>>> {
         let this = self.get_mut();
         loop {
-            if this.buffer.len() == this.chunk_size {
-                return Poll::Ready(Some(Ok(this.buffer.split())));
-            } else if this.buffer.len() > this.chunk_size {
-                let result = this.buffer.split_to(this.chunk_size);
-                return Poll::Ready(Some(Ok(result)));
+            if this.buffer.len() >= this.chunk_size {
+                return Poll::Ready(Some(Ok(this.buffer.split_to(this.chunk_size))));
             }
 
             match ready!(Pin::new(&mut this.input).try_poll_next(cx)) {
diff --git a/src/config/network/parser.rs b/src/config/network/parser.rs
index 2546f027..ff36a314 100644
--- a/src/config/network/parser.rs
+++ b/src/config/network/parser.rs
@@ -293,6 +293,7 @@ impl <R: BufRead> NetworkParser<R> {
             }
         }
 
+        #[allow(clippy::comparison_chain)]
         if let Some(netmask) = netmask {
             if address_list.len() > 1 {
                 bail!("unable to apply netmask to multiple addresses (please use cidr notation)");
diff --git a/src/tools/acl.rs b/src/tools/acl.rs
index 94f3f4df..80e27812 100644
--- a/src/tools/acl.rs
+++ b/src/tools/acl.rs
@@ -196,9 +196,11 @@ impl<'a> ACLEntry<'a> {
 
         for &perm in &[ACL_READ, ACL_WRITE, ACL_EXECUTE] {
             res = unsafe { acl_get_perm(permset, perm) };
-            if res < 0 { 
+            if res < 0 {
                 return Err(Errno::last());
-            } else if res > 0 { 
+            }
+
+            if res == 1 {
                 permissions |= perm as u64;
             }
         }
-- 
2.20.1






More information about the pbs-devel mailing list