]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
rust(lint): remove manual implement of map method
authorJason Ish <jason.ish@oisf.net>
Fri, 20 Aug 2021 17:41:40 +0000 (11:41 -0600)
committerVictor Julien <victor@inliniac.net>
Mon, 23 Aug 2021 08:03:12 +0000 (10:03 +0200)
Using `if let` expressions in these cases is better expressed
by the map method, and considered idiomatic Rust for this usage.

rust/src/ike/parser.rs
rust/src/rdp/parser.rs

index f3fe86fae3256cfcd5495a84b64658bed1ad0b8f..f9cfa0831a2e75d61b75e9c9f7f57b2aabee6c10 100644 (file)
@@ -479,22 +479,13 @@ named! { pub parse_sa_attribute<&[u8], Vec<SaAttribute>>,
                         numeric_value: match format.0 {
                             1 => Some(attribute_length_or_value as u32),
                             0 => {
-                                if let Some(_numeric_variable_value) = numeric_variable_value {
-                                    Some(_numeric_variable_value)
-                                }
-                                else {
-                                    None
-                                }
+                                numeric_variable_value
                             },
                             _ => None,
                         },
                         hex_value: match format.0 {
                             0 => {
-                                if let Some(_variable_attribute_value) = variable_attribute_value {
-                                    Some(to_hex(_variable_attribute_value))
-                                } else {
-                                    None
-                                }
+                                variable_attribute_value.map(|_variable_attribute_value| to_hex(_variable_attribute_value))
                             }
                             _ => None,
                         }
index f1b27cce790cfd04e5d5dfe6192278d6a5114dc2..bcd25211b30e1d45ee44c3207b6c83f27580a93f 100644 (file)
@@ -441,10 +441,7 @@ pub fn parse_t123_tpkt(input: &[u8]) -> IResult<&[u8], T123Tpkt, RdpError> {
 
     let opt1: Option<T123TpktChild> = {
         match opt!(data, parse_x224_connection_request_class_0) {
-            Ok((_remainder, opt)) => match opt {
-                Some(x) => Some(T123TpktChild::X224ConnectionRequest(x)),
-                None => None,
-            },
+            Ok((_remainder, opt)) => opt.map(T123TpktChild::X224ConnectionRequest),
             Err(e) => return Err(e),
         }
     };
@@ -452,10 +449,7 @@ pub fn parse_t123_tpkt(input: &[u8]) -> IResult<&[u8], T123Tpkt, RdpError> {
     let opt2: Option<T123TpktChild> = match opt1 {
         Some(x) => Some(x),
         None => match opt!(data, parse_x224_connection_confirm_class_0) {
-            Ok((_remainder, opt)) => match opt {
-                Some(x) => Some(T123TpktChild::X224ConnectionConfirm(x)),
-                None => None,
-            },
+            Ok((_remainder, opt)) => opt.map(T123TpktChild::X224ConnectionConfirm),
             Err(e) => return Err(e),
         },
     };
@@ -463,10 +457,7 @@ pub fn parse_t123_tpkt(input: &[u8]) -> IResult<&[u8], T123Tpkt, RdpError> {
     let opt3: Option<T123TpktChild> = match opt2 {
         Some(x) => Some(x),
         None => match opt!(data, parse_x223_data_class_0) {
-            Ok((_remainder, opt)) => match opt {
-                Some(x) => Some(T123TpktChild::Data(x)),
-                None => None,
-            },
+            Ok((_remainder, opt)) => opt.map(T123TpktChild::Data),
             Err(e) => return Err(e),
         },
     };
@@ -628,19 +619,13 @@ fn parse_x224_connection_confirm(input: &[u8]) -> IResult<&[u8], X224ConnectionC
 
             // it will be one of a response message or a failure message
             let opt1: Option<NegotiationFromServer> = match opt!(data, parse_negotiation_response) {
-                Ok((_remainder, opt)) => match opt {
-                    Some(x) => Some(NegotiationFromServer::Response(x)),
-                    None => None,
-                },
+                Ok((_remainder, opt)) => opt.map(NegotiationFromServer::Response),
                 Err(e) => return Err(e),
             };
             let opt2: Option<NegotiationFromServer> = match opt1 {
                 Some(x) => Some(x),
                 None => match opt!(data, parse_negotiation_failure) {
-                    Ok((_remainder, opt)) => match opt {
-                        Some(x) => Some(NegotiationFromServer::Failure(x)),
-                        None => None,
-                    },
+                    Ok((_remainder, opt)) => opt.map(NegotiationFromServer::Failure),
                     Err(e) => return Err(e),
                 },
             };
@@ -738,20 +723,14 @@ fn parse_x223_data_class_0(input: &[u8]) -> IResult<&[u8], X223Data, RdpError> {
     //
 
     let opt1: Option<X223DataChild> = match opt!(i3, parse_mcs_connect) {
-        Ok((_remainder, opt)) => match opt {
-            Some(x) => Some(X223DataChild::McsConnectRequest(x)),
-            None => None,
-        },
+        Ok((_remainder, opt)) => opt.map(X223DataChild::McsConnectRequest),
         Err(e) => return Err(e),
     };
 
     let opt2: Option<X223DataChild> = match opt1 {
         Some(x) => Some(x),
         None => match opt!(i3, parse_mcs_connect_response) {
-            Ok((_remainder, opt)) => match opt {
-                Some(x) => Some(X223DataChild::McsConnectResponse(x)),
-                None => None,
-            },
+            Ok((_remainder, opt)) => opt.map(X223DataChild::McsConnectResponse),
             Err(e) => return Err(e),
         },
     };