From: Jason Ish Date: Tue, 29 Nov 2022 02:06:19 +0000 (-0600) Subject: rust/clippy: fix lint: manual_find X-Git-Tag: suricata-7.0.0-rc1~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=029ac650d7349a9be81112c1a885ecee150b72bf;p=thirdparty%2Fsuricata.git rust/clippy: fix lint: manual_find These get_tx methods look like ideal candidates for generic and/or derived methods. --- diff --git a/rust/src/applayertemplate/template.rs b/rust/src/applayertemplate/template.rs index 14ea6ff7ab..acc6c26c37 100644 --- a/rust/src/applayertemplate/template.rs +++ b/rust/src/applayertemplate/template.rs @@ -103,12 +103,7 @@ impl TemplateState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&TemplateTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } fn new_tx(&mut self) -> TemplateTransaction { @@ -119,12 +114,7 @@ impl TemplateState { } fn find_request(&mut self) -> Option<&mut TemplateTransaction> { - for tx in &mut self.transactions { - if tx.response.is_none() { - return Some(tx); - } - } - None + self.transactions.iter_mut().find(|tx| tx.response.is_none()) } fn parse_request(&mut self, input: &[u8]) -> AppLayerResult { diff --git a/rust/src/dhcp/dhcp.rs b/rust/src/dhcp/dhcp.rs index 48d737584d..66fe09ea40 100644 --- a/rust/src/dhcp/dhcp.rs +++ b/rust/src/dhcp/dhcp.rs @@ -148,12 +148,7 @@ impl DHCPState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&DHCPTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } fn free_tx(&mut self, tx_id: u64) { diff --git a/rust/src/ike/ike.rs b/rust/src/ike/ike.rs index 6ed1896d78..e715fa7bf9 100644 --- a/rust/src/ike/ike.rs +++ b/rust/src/ike/ike.rs @@ -167,12 +167,7 @@ impl IKEState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&mut IKETransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter_mut().find(|tx| tx.tx_id == tx_id + 1) } pub fn new_tx(&mut self) -> IKETransaction { diff --git a/rust/src/lib.rs b/rust/src/lib.rs index f8c4bf3fc8..a9bff56436 100644 --- a/rust/src/lib.rs +++ b/rust/src/lib.rs @@ -27,7 +27,6 @@ #![allow(clippy::too_many_arguments)] // To be fixed, but remove the noise for now. -#![allow(clippy::manual_find)] #![allow(clippy::match_like_matches_macro)] #![allow(clippy::module_inception)] #![allow(clippy::result_unit_err)] diff --git a/rust/src/modbus/modbus.rs b/rust/src/modbus/modbus.rs index 3c6a699fb6..79da345712 100644 --- a/rust/src/modbus/modbus.rs +++ b/rust/src/modbus/modbus.rs @@ -113,12 +113,7 @@ impl ModbusState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&mut ModbusTransaction> { - for tx in &mut self.transactions { - if tx.id == tx_id + 1 { - return Some(tx); - } - } - None + self.transactions.iter_mut().find(|tx| tx.id == tx_id + 1) } /// Searches the requests in order to find one matching the given response. Returns the matching diff --git a/rust/src/mqtt/mqtt.rs b/rust/src/mqtt/mqtt.rs index 2e7b47fb8f..d771d86ef4 100644 --- a/rust/src/mqtt/mqtt.rs +++ b/rust/src/mqtt/mqtt.rs @@ -158,12 +158,7 @@ impl MQTTState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&MQTTTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } pub fn get_tx_by_pkt_id(&mut self, pkt_id: u32) -> Option<&mut MQTTTransaction> { diff --git a/rust/src/pgsql/pgsql.rs b/rust/src/pgsql/pgsql.rs index 8db911330f..63da68b56f 100644 --- a/rust/src/pgsql/pgsql.rs +++ b/rust/src/pgsql/pgsql.rs @@ -187,12 +187,7 @@ impl PgsqlState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&PgsqlTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } fn new_tx(&mut self) -> PgsqlTransaction { diff --git a/rust/src/rfb/rfb.rs b/rust/src/rfb/rfb.rs index ba5bdca8b1..e956aad893 100644 --- a/rust/src/rfb/rfb.rs +++ b/rust/src/rfb/rfb.rs @@ -136,12 +136,7 @@ impl RFBState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&RFBTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } fn new_tx(&mut self) -> RFBTransaction { @@ -152,12 +147,8 @@ impl RFBState { } fn get_current_tx(&mut self) -> Option<&mut RFBTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == self.tx_id { - return Some(tx); - } - } - return None; + let tx_id = self.tx_id; + self.transactions.iter_mut().find(|tx| tx.tx_id == tx_id) } fn parse_request(&mut self, input: &[u8]) -> AppLayerResult { diff --git a/rust/src/telnet/telnet.rs b/rust/src/telnet/telnet.rs index 75c752dd20..9c068e2da2 100644 --- a/rust/src/telnet/telnet.rs +++ b/rust/src/telnet/telnet.rs @@ -131,12 +131,7 @@ impl TelnetState { } pub fn get_tx(&mut self, tx_id: u64) -> Option<&TelnetTransaction> { - for tx in &mut self.transactions { - if tx.tx_id == tx_id + 1 { - return Some(tx); - } - } - return None; + self.transactions.iter().find(|tx| tx.tx_id == tx_id + 1) } fn _new_tx(&mut self) -> TelnetTransaction {