diff --git a/crates/television-channels/src/entry.rs b/crates/television-channels/src/entry.rs index c5c765f..66e876e 100644 --- a/crates/television-channels/src/entry.rs +++ b/crates/television-channels/src/entry.rs @@ -66,22 +66,21 @@ impl Entry { self } #[allow(clippy::needless_return)] - pub fn minimal_name_match_ranges(self) -> Option> { + pub fn minimal_name_match_ranges(&self) -> Option> { // This method takes the existing `name_match_ranges` // and merges contiguous ranges into the minimal equivalent // set of ranges. If no ranges exist, it returns `None`. - if let Some(name_match_ranges) = self.name_match_ranges { - let minimal_name_match_ranges: Vec<(u32, u32)> = name_match_ranges - .into_iter() - .fold(Vec::new(), |mut acc, x| { + if let Some(name_match_ranges) = &self.name_match_ranges { + let minimal_name_match_ranges: Vec<(u32, u32)> = + name_match_ranges.iter().fold(Vec::new(), |mut acc, x| { if let Some(last) = acc.last_mut() { if last.1 == x.0 { - last.1 = x.1 + last.1 = x.1; } else { - acc.push(x); + acc.push(*x); } } else { - acc.push(x); + acc.push(*x); } return acc; }); diff --git a/crates/television-screen/src/results.rs b/crates/television-screen/src/results.rs index 5303924..22d3250 100644 --- a/crates/television-screen/src/results.rs +++ b/crates/television-screen/src/results.rs @@ -56,7 +56,7 @@ where // entry name let (entry_name, name_match_ranges) = make_matched_string_printable( &entry.name, - entry.name_match_ranges.as_deref(), + entry.minimal_name_match_ranges().as_deref(), ); let mut last_match_end = 0; for (start, end) in name_match_ranges