From 655ceac1c6249ec79844af11ce5fbd0ec1a6475c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 15 Jan 2021 14:10:24 +0100 Subject: [PATCH] clippy: collapse/rework nested ifs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit no semantic changes (intended). Signed-off-by: Fabian Grünbichler --- src/rrd/rrd.rs | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/rrd/rrd.rs b/src/rrd/rrd.rs index c8b16471..37bdf3b9 100644 --- a/src/rrd/rrd.rs +++ b/src/rrd/rrd.rs @@ -128,25 +128,20 @@ impl RRA { // derive counter value if self.flags.intersects(RRAFlags::DST_DERIVE | RRAFlags::DST_COUNTER) { let time_diff = time - self.last_update; + let is_counter = self.flags.contains(RRAFlags::DST_COUNTER); + let diff = if self.counter_value.is_nan() { 0.0 + } else if is_counter && value < 0.0 { + eprintln!("rrdb update failed - got negative value for counter"); + return; + } else if is_counter && value < self.counter_value { + // Note: We do not try automatic overflow corrections + self.counter_value = value; + eprintln!("rrdb update failed - conter overflow/reset detected"); + return; } else { - if self.flags.contains(RRAFlags::DST_COUNTER) { // check for overflow - if value < 0.0 { - eprintln!("rrdb update failed - got negative value for counter"); - return; - } - // Note: We do not try automatic overflow corrections - if value < self.counter_value { // overflow or counter reset - self.counter_value = value; - eprintln!("rrdb update failed - conter overflow/reset detected"); - return; - } else { - value - self.counter_value - } - } else { - value - self.counter_value - } + value - self.counter_value }; self.counter_value = value; value = diff/time_diff;