diff --git a/rust/src/ike/parser.rs b/rust/src/ike/parser.rs index f3fe86fae325..f9cfa0831a2e 100644 --- a/rust/src/ike/parser.rs +++ b/rust/src/ike/parser.rs @@ -479,22 +479,13 @@ named! { pub parse_sa_attribute<&[u8], Vec>, 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, } diff --git a/rust/src/rdp/parser.rs b/rust/src/rdp/parser.rs index f1b27cce790c..bcd25211b30e 100644 --- a/rust/src/rdp/parser.rs +++ b/rust/src/rdp/parser.rs @@ -441,10 +441,7 @@ pub fn parse_t123_tpkt(input: &[u8]) -> IResult<&[u8], T123Tpkt, RdpError> { let opt1: Option = { 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 = 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 = 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 = 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 = 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 = 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 = 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), }, };