From 77d80127950c9b41294c7f9debbcad51c5f17656 Mon Sep 17 00:00:00 2001 From: Matthias Behr Date: Sat, 28 Mar 2026 08:52:48 +0100 Subject: [PATCH 1/3] chore: suppress clippy warning regarding large Err which is not used at all. Seems tungstenite introduced. Update tungstenite to 0.29.0 as well. --- Cargo.toml | 2 +- src/bin/adlt/remote.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index bcb0a1b..e73740c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,7 +72,7 @@ serde_json = "1.0" size = "0.5.0" evmap = "10.0.2" nohash-hasher = "0.2.0" -tungstenite = "0.28.0" +tungstenite = "0.29.0" assert_cmd = "2.1" predicates = "3.1" portpicker = "0.1.1" diff --git a/src/bin/adlt/remote.rs b/src/bin/adlt/remote.rs index 90e9c4c..2cfe243 100644 --- a/src/bin/adlt/remote.rs +++ b/src/bin/adlt/remote.rs @@ -113,6 +113,7 @@ pub fn remote( .name("server".to_string()) .spawn(move || { let log = logc; + #[allow(clippy::result_large_err)] let callback = |req: &Request, mut response: Response| { info!(log, "Received a new ws handshake"); info!(log, "The request's path is: {}", req.uri().path()); From 8898ecf692bcbac319532bcc9fb690b8bfc896c8 Mon Sep 17 00:00:00 2001 From: Matthias Behr Date: Sat, 28 Mar 2026 09:27:39 +0100 Subject: [PATCH 2/3] chore: update ablf to fix clippy warnings --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index e73740c..e61feb3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,7 +86,7 @@ regex = "1.12.2" quick-xml = "0.37.5" # todo update to 0.39.0 bincode = "2.0.1" # todo update to bincode-next 2.0.4??? funty = "2.0.0" -ablf = "0.2.0" +ablf = "0.2.1" afibex = "0.11.1" asomeip = "0.9.3" fancy-regex = "0.17.0" From c07ec5f0d72119f45e0954943b94af2a89174f78 Mon Sep 17 00:00:00 2001 From: Matthias Behr Date: Sun, 3 May 2026 17:24:21 +0200 Subject: [PATCH 3/3] chore: clippy fixes --- src/bin/adlt/convert.rs | 2 +- src/bin/adlt/remote.rs | 4 +- src/filter/functions.rs | 11 +- src/plugins/can.rs | 120 ++++---- src/plugins/file_transfer.rs | 509 ++++++++++++++++---------------- src/plugins/muniic.rs | 27 +- src/plugins/someip.rs | 4 +- src/utils/asc2dltmsgiterator.rs | 6 +- src/utils/eac_stats.rs | 18 +- 9 files changed, 336 insertions(+), 365 deletions(-) diff --git a/src/bin/adlt/convert.rs b/src/bin/adlt/convert.rs index 8b2baa5..96e767e 100644 --- a/src/bin/adlt/convert.rs +++ b/src/bin/adlt/convert.rs @@ -454,7 +454,7 @@ pub fn convert( let input_file_streams: Vec = input_file_streams .into_iter() .map(|(hashset, mut time_files)| { - time_files.sort_by(|a, b| a.0.cmp(&b.0)); + time_files.sort_by_key(|a| a.0); time_files.dedup(); // remove duplicates (hashset, time_files) }) diff --git a/src/bin/adlt/remote.rs b/src/bin/adlt/remote.rs index 2cfe243..dd0bc6f 100644 --- a/src/bin/adlt/remote.rs +++ b/src/bin/adlt/remote.rs @@ -584,7 +584,7 @@ fn file_names_to_file_streams( let input_file_streams: Vec = input_file_streams .into_iter() .map(|(hashset, mut time_files)| { - time_files.sort_by(|a, b| a.0.cmp(&b.0)); + time_files.sort_by_key(|a| a.0); // time_files.dedup(); // remove duplicates (not needed here) (hashset, time_files) }) @@ -1855,7 +1855,7 @@ fn process_file_context( fc.last_lcs_w_refresh_index = new_lcs_w_refresh_index; if !lcs.is_empty() { // we do send them sorted (even in case only updates are sent) - lcs.sort_unstable_by(|a, b| a.start_time.cmp(&b.start_time)); + lcs.sort_unstable_by_key(|a| a.start_time); let encoded: Vec = bincode::encode_to_vec(remote_types::BinType::Lifecycles(lcs), BINCODE_CONFIG) .unwrap(); // todo diff --git a/src/filter/functions.rs b/src/filter/functions.rs index 40fd066..6c976dc 100644 --- a/src/filter/functions.rs +++ b/src/filter/functions.rs @@ -81,14 +81,9 @@ pub fn filters_from_dlf(reader: B) -> Result, q found_dltfilter_start = true; found_dltfilter_end = false; } - b"filter" => { - if found_dltfilter_start && !found_dltfilter_end { - let filter = Filter::from_quick_xml_reader(&mut reader); - filters.push(filter?); - } else { - // we ignore those - //println!("ignoring filter as outside dltfilter!"); - } + b"filter" if found_dltfilter_start && !found_dltfilter_end => { + let filter = Filter::from_quick_xml_reader(&mut reader); + filters.push(filter?); } _ => { // println!("ignoring start '{:?}'", e.local_name()) diff --git a/src/plugins/can.rs b/src/plugins/can.rs index 8b9ef9d..4617cf2 100644 --- a/src/plugins/can.rs +++ b/src/plugins/can.rs @@ -155,18 +155,14 @@ impl Plugin for CanPlugin { let mut args = msg.into_iter(); let message_id_arg = args.next(); let message_id = match message_id_arg { - Some(a) => { - if a.payload_raw.len() == 4 { - if a.is_big_endian { - u32::from_be_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) - } else { - u32::from_le_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) - } + Some(a) if a.payload_raw.len() == 4 => { + if a.is_big_endian { + u32::from_be_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) } else { - 0 + u32::from_le_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) } } - None => 0, + _ => 0, }; if message_id == SERVICE_ID_GET_LOG_INFO { let payload_arg = args.next(); @@ -480,7 +476,7 @@ fn md_for_compu_methods(compu_methods: &Vec) -> String { }) .map(|cs| (cs.mask.unwrap(), &cs.lower_limit.as_ref().unwrap().0, cs)) .collect::>(); - masks.sort_by(|a, b| a.0.cmp(&b.0)); + masks.sort_by_key(|a| a.0); let def_v = XsDouble::I64(0); r += &masks .iter() @@ -549,61 +545,57 @@ fn js_for_compu_methods(compu_methods: &Vec) -> String { let mut closing_str = String::with_capacity(2); for cm in compu_methods { match cm.category { - CompuCategory::TextTable => { - if r.len() == initial_r_len { - // we support only either a TextTable or Bitfield - r += "new Map(["; // texttable uses a Map - closing_str += "])"; - r += &cm - .internal_to_phys_scales - .iter() - .filter(|cs| cs.get_single_value().is_some() && cs.compu_const.is_some()) - .map(|cs| { - format!( - "[{},{:?}]", - cs.get_single_value().unwrap(), - if let Some(afibex::fibex::VvT::VT(en)) = &cs.compu_const { - en // todo needs escaping of "! - } else { - "" - } - ) - }) - .collect::>() - .join(","); - } + CompuCategory::TextTable if r.len() == initial_r_len => { + // we support only either a TextTable or Bitfield + r += "new Map(["; // texttable uses a Map + closing_str += "])"; + r += &cm + .internal_to_phys_scales + .iter() + .filter(|cs| cs.get_single_value().is_some() && cs.compu_const.is_some()) + .map(|cs| { + format!( + "[{},{:?}]", + cs.get_single_value().unwrap(), + if let Some(afibex::fibex::VvT::VT(en)) = &cs.compu_const { + en // todo needs escaping of "! + } else { + "" + } + ) + }) + .collect::>() + .join(","); } - CompuCategory::BitfieldTextTable => { - if r.len() == initial_r_len { - // we encode the bitfields as an array or tuple(array) with mask/value/text - r += "["; - r += &cm - .internal_to_phys_scales - .iter() - .filter(|cs| { - cs.get_single_value().is_some() - && cs.mask.is_some() - && cs.compu_const.is_some() - && cs.get_single_value().unwrap() != &XsDouble::I64(0) - }) - .map(|cs| { - let v = cs.get_single_value().unwrap(); - let mask = cs.mask.unwrap(); - format!( - "[{},{},{:?}]", - mask, - v, - if let Some(afibex::fibex::VvT::VT(en)) = &cs.compu_const { - en // todo needs escaping of "! - } else { - "" - } - ) - }) - .collect::>() - .join(","); - closing_str += "]"; - } + CompuCategory::BitfieldTextTable if r.len() == initial_r_len => { + // we encode the bitfields as an array or tuple(array) with mask/value/text + r += "["; + r += &cm + .internal_to_phys_scales + .iter() + .filter(|cs| { + cs.get_single_value().is_some() + && cs.mask.is_some() + && cs.compu_const.is_some() + && cs.get_single_value().unwrap() != &XsDouble::I64(0) + }) + .map(|cs| { + let v = cs.get_single_value().unwrap(); + let mask = cs.mask.unwrap(); + format!( + "[{},{},{:?}]", + mask, + v, + if let Some(afibex::fibex::VvT::VT(en)) = &cs.compu_const { + en // todo needs escaping of "! + } else { + "" + } + ) + }) + .collect::>() + .join(","); + closing_str += "]"; } _ => {} } diff --git a/src/plugins/file_transfer.rs b/src/plugins/file_transfer.rs index 9b191b9..6f37a5c 100644 --- a/src/plugins/file_transfer.rs +++ b/src/plugins/file_transfer.rs @@ -265,302 +265,295 @@ impl Plugin for FileTransferPlugin { match msg.mstp() { DltMessageType::Log(DltMessageLogType::Info) => { match msg.noar() { - 8 => { - if FileTransferPlugin::is_type(msg, "FLST") { - // file transfer start - let mut serial = 0; - let mut file_name = String::new(); - let mut file_size = 0; - let mut file_creation_date = String::new(); - let mut nr_packages = 0; - let mut buffer_size = 0; - let args = msg.into_iter(); - for (i, arg) in args.enumerate() { - match i { - 0 => {} // FLST - 1 => { - // serial - if let Ok(s) = arg_as_uint(&arg) { - serial = s; - } else { - println!("FLST unexpected serial type!"); - break; - } + 8 if FileTransferPlugin::is_type(msg, "FLST") => { + // file transfer start + let mut serial = 0; + let mut file_name = String::new(); + let mut file_size = 0; + let mut file_creation_date = String::new(); + let mut nr_packages = 0; + let mut buffer_size = 0; + let args = msg.into_iter(); + for (i, arg) in args.enumerate() { + match i { + 0 => {} // FLST + 1 => { + // serial + if let Ok(s) = arg_as_uint(&arg) { + serial = s; + } else { + println!("FLST unexpected serial type!"); + break; } - 2 => { - // filename - if let Ok(name) = arg_as_string(&arg) { - file_name = name; - } + } + 2 => { + // filename + if let Ok(name) = arg_as_string(&arg) { + file_name = name; } - 3 => { - // fileSize - if let Ok(s) = arg_as_uint(&arg) { - file_size = s; - } else { - println!("FLST unexpected file size type!"); - break; - } + } + 3 => { + // fileSize + if let Ok(s) = arg_as_uint(&arg) { + file_size = s; + } else { + println!("FLST unexpected file size type!"); + break; } - 4 => { - // file creation date - if let Ok(name) = arg_as_string(&arg) { - file_creation_date = name; - } + } + 4 => { + // file creation date + if let Ok(name) = arg_as_string(&arg) { + file_creation_date = name; } - 5 => { - // nr packages - if let Ok(s) = arg_as_uint(&arg) { - nr_packages = s; - } else { - println!("FLST unexpected nr_packages type!"); - break; - } + } + 5 => { + // nr packages + if let Ok(s) = arg_as_uint(&arg) { + nr_packages = s; + } else { + println!("FLST unexpected nr_packages type!"); + break; } - 6 => { - // buffer size - if let Ok(s) = arg_as_uint(&arg) { - buffer_size = s; - } else { - println!("FLST unexpected buffer_size type!"); - break; - } + } + 6 => { + // buffer size + if let Ok(s) = arg_as_uint(&arg) { + buffer_size = s; + } else { + println!("FLST unexpected buffer_size type!"); break; } - _ => {} + break; } + _ => {} } - /*println!( - "FLST serial={} file_name={} file_size={} file_creation_date()={} nr_packages={} buffer_size={}", - serial, file_name, file_size, file_creation_date, nr_packages, buffer_size - );*/ - if nr_packages > 0 && buffer_size > 0 { - let keep_data = self.allow_save - || (if let Some(pat) = &self.auto_save_glob { - pat.matches(&file_name) - } else { - false - }); - - self.transfers.push(FileTransfer { - ecu: msg.ecu, - lifecycle: msg.lifecycle, - state: FileTransferState::Started, - serial, - file_name, - file_size, - file_creation_date, - nr_packages, - buffer_size, - next_package: 1, - recvd_packages: 0, - recvd_payload: 0, - file_data: if keep_data { Some(Vec::new()) } else { None }, - auto_saved_to: None, + } + /*println!( + "FLST serial={} file_name={} file_size={} file_creation_date()={} nr_packages={} buffer_size={}", + serial, file_name, file_size, file_creation_date, nr_packages, buffer_size + );*/ + if nr_packages > 0 && buffer_size > 0 { + let keep_data = self.allow_save + || (if let Some(pat) = &self.auto_save_glob { + pat.matches(&file_name) + } else { + false }); - let idx = self.transfers.len() - 1; - self.transfers_idx - .insert((msg.ecu, msg.lifecycle, serial), idx); - self.update_state(idx); - } + + self.transfers.push(FileTransfer { + ecu: msg.ecu, + lifecycle: msg.lifecycle, + state: FileTransferState::Started, + serial, + file_name, + file_size, + file_creation_date, + nr_packages, + buffer_size, + next_package: 1, + recvd_packages: 0, + recvd_payload: 0, + file_data: if keep_data { Some(Vec::new()) } else { None }, + auto_saved_to: None, + }); + let idx = self.transfers.len() - 1; + self.transfers_idx + .insert((msg.ecu, msg.lifecycle, serial), idx); + self.update_state(idx); } } - 5 => { - if FileTransferPlugin::is_type(msg, "FLDA") { - // file transfer data - let mut serial = u64::MAX; - let mut package_nr = u64::MAX; - let args = msg.into_iter(); - for (i, arg) in args.enumerate() { - match i { - 0 => {} // FLDA - 1 => { - if let Ok(s) = arg_as_uint(&arg) { - serial = s; - } else { - println!("FLDA unexpected serial type!"); - break; - } + 5 if FileTransferPlugin::is_type(msg, "FLDA") => { + // file transfer data + let mut serial = u64::MAX; + let mut package_nr = u64::MAX; + let args = msg.into_iter(); + for (i, arg) in args.enumerate() { + match i { + 0 => {} // FLDA + 1 => { + if let Ok(s) = arg_as_uint(&arg) { + serial = s; + } else { + println!("FLDA unexpected serial type!"); + break; } - 2 => { - if let Ok(s) = arg_as_uint(&arg) { - // is weirdly a SINT32... - package_nr = s; - } else { - println!("FLDA unexpected package_nr type!"); - break; - } + } + 2 => { + if let Ok(s) = arg_as_uint(&arg) { + // is weirdly a SINT32... + package_nr = s; + } else { + println!("FLDA unexpected package_nr type!"); + break; } - 3 => { - if let Some(file_transfer_idx) = self - .transfers_idx - .get(&(msg.ecu, msg.lifecycle, serial)) - { - let file_transfer = self - .transfers - .get_mut(*file_transfer_idx) - .unwrap(); - if file_transfer.add_flda(package_nr, &arg) { - if file_transfer.state - == FileTransferState::Complete - { - let glob = &self.auto_save_glob; - let path = &self.auto_save_path; - FileTransferPlugin::check_auto_save( - glob, - path, - file_transfer, - self.allow_save, - ); - // need to do that before the update_state as file_data gets moved then - } - self.update_state(*file_transfer_idx); + } + 3 => { + if let Some(file_transfer_idx) = self.transfers_idx.get(&( + msg.ecu, + msg.lifecycle, + serial, + )) { + let file_transfer = + self.transfers.get_mut(*file_transfer_idx).unwrap(); + if file_transfer.add_flda(package_nr, &arg) { + if file_transfer.state + == FileTransferState::Complete + { + let glob = &self.auto_save_glob; + let path = &self.auto_save_path; + FileTransferPlugin::check_auto_save( + glob, + path, + file_transfer, + self.allow_save, + ); + // need to do that before the update_state as file_data gets moved then } - } else if package_nr == 1 { - // incomplete, but can recover as this is the first package - let mut file_transfer = FileTransfer { - ecu: msg.ecu, - lifecycle: msg.lifecycle, - state: FileTransferState::MissingStart, - serial, - file_name: "".to_owned(), - file_size: 0, - file_creation_date: "".to_owned(), - nr_packages: u64::MAX, - buffer_size: 0, - next_package: 1, - recvd_packages: 0, - recvd_payload: 0, - file_data: if self.allow_save { - Some(Vec::new()) - } else { - None - }, - auto_saved_to: None, - }; - let _ = file_transfer.add_flda(package_nr, &arg); // ignore return value, we do update_state anyhow - self.transfers.push(file_transfer); - let idx = self.transfers.len() - 1; - self.transfers_idx - .insert((msg.ecu, msg.lifecycle, serial), idx); - self.update_state(idx); + self.update_state(*file_transfer_idx); } - break; + } else if package_nr == 1 { + // incomplete, but can recover as this is the first package + let mut file_transfer = FileTransfer { + ecu: msg.ecu, + lifecycle: msg.lifecycle, + state: FileTransferState::MissingStart, + serial, + file_name: "".to_owned(), + file_size: 0, + file_creation_date: "".to_owned(), + nr_packages: u64::MAX, + buffer_size: 0, + next_package: 1, + recvd_packages: 0, + recvd_payload: 0, + file_data: if self.allow_save { + Some(Vec::new()) + } else { + None + }, + auto_saved_to: None, + }; + let _ = file_transfer.add_flda(package_nr, &arg); // ignore return value, we do update_state anyhow + self.transfers.push(file_transfer); + let idx = self.transfers.len() - 1; + self.transfers_idx + .insert((msg.ecu, msg.lifecycle, serial), idx); + self.update_state(idx); } - _ => {} + break; } + _ => {} } + } - if !self.keep_flda { - return false; - } + if !self.keep_flda { + return false; } } - 3 => { - if FileTransferPlugin::is_type(msg, "FLFI") { - // file transfer finish - let mut serial = u64::MAX; - let args = msg.into_iter(); - for (i, arg) in args.enumerate() { - match i { - 0 => {} // FLFI - 1 => { - if let Ok(s) = arg_as_uint(&arg) { - serial = s; - } else { - println!("FLDA unexpected serial type!"); - break; - } + 3 if FileTransferPlugin::is_type(msg, "FLFI") => { + // file transfer finish + let mut serial = u64::MAX; + let args = msg.into_iter(); + for (i, arg) in args.enumerate() { + match i { + 0 => {} // FLFI + 1 => { + if let Ok(s) = arg_as_uint(&arg) { + serial = s; + } else { + println!("FLDA unexpected serial type!"); break; } - _ => {} + break; } + _ => {} } - if let Some(file_transfer_idx) = - self.transfers_idx.get(&(msg.ecu, msg.lifecycle, serial)) - { - let file_transfer = - self.transfers.get_mut(*file_transfer_idx).unwrap(); - // mark as finished: - if file_transfer.check_finished(true) { - if file_transfer.state == FileTransferState::Complete { - let glob = &self.auto_save_glob; - let path = &self.auto_save_path; - FileTransferPlugin::check_auto_save( - glob, - path, - file_transfer, - self.allow_save, - ); - // need to do that before the update_state as file_data gets moved then - } - self.update_state(*file_transfer_idx); + } + if let Some(file_transfer_idx) = + self.transfers_idx.get(&(msg.ecu, msg.lifecycle, serial)) + { + let file_transfer = + self.transfers.get_mut(*file_transfer_idx).unwrap(); + // mark as finished: + if file_transfer.check_finished(true) { + if file_transfer.state == FileTransferState::Complete { + let glob = &self.auto_save_glob; + let path = &self.auto_save_path; + FileTransferPlugin::check_auto_save( + glob, + path, + file_transfer, + self.allow_save, + ); + // need to do that before the update_state as file_data gets moved then } + self.update_state(*file_transfer_idx); } } } _ => {} }; } - DltMessageType::Log(DltMessageLogType::Error) => { - if msg.noar() == 10 && FileTransferPlugin::is_type(msg, "FLER") { - // we handle only the FLER with the serial contained from https://github.com/COVESA/dlt-daemon/blob/4a6ac112ece4122969b8ccf8181055a9c1717d6f/src/lib/dlt_filetransfer.c#L275 - // file transfer error - let mut serial = 0; - let mut error_code = 0i64; - let mut err_no = 0i64; - let args = msg.into_iter(); - for (i, arg) in args.enumerate() { - match i { - 0 => {} // FLER - 1 => { - // INT errorCode - if let Ok(s) = arg_as_int(&arg) { - error_code = s; - } else { - println!("FLER unexpected errorCode type!"); - } + DltMessageType::Log(DltMessageLogType::Error) + if msg.noar() == 10 && FileTransferPlugin::is_type(msg, "FLER") => + { + // we handle only the FLER with the serial contained from https://github.com/COVESA/dlt-daemon/blob/4a6ac112ece4122969b8ccf8181055a9c1717d6f/src/lib/dlt_filetransfer.c#L275 + // file transfer error + let mut serial = 0; + let mut error_code = 0i64; + let mut err_no = 0i64; + let args = msg.into_iter(); + for (i, arg) in args.enumerate() { + match i { + 0 => {} // FLER + 1 => { + // INT errorCode + if let Ok(s) = arg_as_int(&arg) { + error_code = s; + } else { + println!("FLER unexpected errorCode type!"); } - 2 => { - // INT errno - if let Ok(s) = arg_as_int(&arg) { - err_no = s; - } else { - println!("FLER unexpected errno type!"); - } + } + 2 => { + // INT errno + if let Ok(s) = arg_as_int(&arg) { + err_no = s; + } else { + println!("FLER unexpected errno type!"); } - 3 => { - // serial - if let Ok(s) = arg_as_uint(&arg) { - serial = s; - } else { - println!("FLER unexpected serial type!"); - } - break; + } + 3 => { + // serial + if let Ok(s) = arg_as_uint(&arg) { + serial = s; + } else { + println!("FLER unexpected serial type!"); } - // 4 filename - // 5 fsize - // 6 fcreationdate - // 7 package_count - // 8 BUFFER_SIZE - _ => {} + break; } + // 4 filename + // 5 fsize + // 6 fcreationdate + // 7 package_count + // 8 BUFFER_SIZE + _ => {} } - if let Some(file_transfer_idx) = - self.transfers_idx.get(&(msg.ecu, msg.lifecycle, serial)) - { - let file_transfer = self.transfers.get_mut(*file_transfer_idx).unwrap(); - file_transfer.state = FileTransferState::Error(error_code, err_no); - file_transfer.file_data = None; // we do not need the data any more - self.update_state(*file_transfer_idx); - } else { - // TODO add to a warnings list! (like SomeIP plugin) - println!( - "FLER for serial {} not found in transfers! transfers.len={}", - serial, - self.transfers.len() - ); - } + } + if let Some(file_transfer_idx) = + self.transfers_idx.get(&(msg.ecu, msg.lifecycle, serial)) + { + let file_transfer = self.transfers.get_mut(*file_transfer_idx).unwrap(); + file_transfer.state = FileTransferState::Error(error_code, err_no); + file_transfer.file_data = None; // we do not need the data any more + self.update_state(*file_transfer_idx); + } else { + // TODO add to a warnings list! (like SomeIP plugin) + println!( + "FLER for serial {} not found in transfers! transfers.len={}", + serial, + self.transfers.len() + ); } } _ => {} diff --git a/src/plugins/muniic.rs b/src/plugins/muniic.rs index 04db6dc..eef429f 100644 --- a/src/plugins/muniic.rs +++ b/src/plugins/muniic.rs @@ -94,21 +94,20 @@ impl Plugin for MuniicPlugin { let mut new_payload_text: Option = None; for (nr_arg, arg) in args.enumerate() { match nr_arg { - 7 | 8 => { - // interface or method id + 7 | 8 if (arg.type_info & DLT_TYPE_INFO_UINT) > 0 - && arg.payload_raw.len() == 4 - { - let val: u32 = if arg.is_big_endian { - u32::from_be_bytes(arg.payload_raw.try_into().unwrap()) - } else { - u32::from_le_bytes(arg.payload_raw.try_into().unwrap()) - }; - match nr_arg { - 7 => interface_id = Some(val), - 8 => message_id = Some(val), - _ => {} - } + && arg.payload_raw.len() == 4 => + { + // interface or method id + let val: u32 = if arg.is_big_endian { + u32::from_be_bytes(arg.payload_raw.try_into().unwrap()) + } else { + u32::from_le_bytes(arg.payload_raw.try_into().unwrap()) + }; + match nr_arg { + 7 => interface_id = Some(val), + 8 => message_id = Some(val), + _ => {} } } 12 => { diff --git a/src/plugins/someip.rs b/src/plugins/someip.rs index 72c6256..ff6d7e7 100644 --- a/src/plugins/someip.rs +++ b/src/plugins/someip.rs @@ -420,7 +420,7 @@ fn sorted_mids_by_type(methods: &'_ HashMap) -> Vec<(u16, Met } } } - v.sort_unstable_by(|a, b| a.0.cmp(&b.0)); + v.sort_unstable_by_key(|a| a.0); v } @@ -772,7 +772,7 @@ impl SomeipPlugin { services_by_name.sort_unstable_by(|a, b| a.1[0].short_name.cmp(&b.1[0].short_name)); let mut services_by_id = services_by_name.clone(); - services_by_id.sort_unstable_by(|a, b| a.0 .0.cmp(&b.0 .0)); + services_by_id.sort_unstable_by_key(|a| a.0 .0); state.value = json!({"name":name, "treeItems":[ if !warnings.is_empty() { diff --git a/src/utils/asc2dltmsgiterator.rs b/src/utils/asc2dltmsgiterator.rs index dacd3bf..ecc1849 100644 --- a/src/utils/asc2dltmsgiterator.rs +++ b/src/utils/asc2dltmsgiterator.rs @@ -504,10 +504,10 @@ where payload.extend( [7u8] .into_iter() - .chain(1u16.to_ne_bytes().into_iter()) // 1 app id, CAN plugin expects == 1 + .chain(1u16.to_ne_bytes()) // 1 app id, CAN plugin expects == 1 .chain(apid_buf.iter().copied()) - .chain(0u16.to_ne_bytes().into_iter()) // 0 ctx ids - .chain((name.len() as u16).to_ne_bytes().into_iter()) // len of apid desc + .chain(0u16.to_ne_bytes()) // 0 ctx ids + .chain((name.len() as u16).to_ne_bytes()) // len of apid desc .chain(name.as_bytes().iter().copied()), ); // return a DltMessage with the LOG INFO APID incl. the BusMapping name diff --git a/src/utils/eac_stats.rs b/src/utils/eac_stats.rs index 17febbd..2590e89 100644 --- a/src/utils/eac_stats.rs +++ b/src/utils/eac_stats.rs @@ -190,22 +190,14 @@ impl EacStats { let mut args = msg.into_iter(); let message_id_arg = args.next(); let message_id = match message_id_arg { - Some(a) => { - if a.payload_raw.len() == 4 { - if a.is_big_endian { - u32::from_be_bytes( - a.payload_raw.get(0..4).unwrap().try_into().unwrap(), - ) - } else { - u32::from_le_bytes( - a.payload_raw.get(0..4).unwrap().try_into().unwrap(), - ) - } + Some(a) if a.payload_raw.len() == 4 => { + if a.is_big_endian { + u32::from_be_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) } else { - 0 + u32::from_le_bytes(a.payload_raw.get(0..4).unwrap().try_into().unwrap()) } } - None => 0, + _ => 0, }; if message_id == SERVICE_ID_GET_LOG_INFO { let payload_arg = args.next();