fn main() { let a: Vec = std::env::args().collect(); let b = std::fs::read(&a[1]).unwrap(); let stride: usize = a[2].parse().unwrap(); let want: usize = a[3].parse().unwrap(); let s = sylpheed_formats::mesh::debug_vertex_run_starts(&b, stride); println!("{} candidate starts at stride {}", s.len(), stride); println!("contains {:#x}: {}", want, s.contains(&want)); let near: Vec = s .iter() .filter(|&&o| o.abs_diff(want) < 0x200) .map(|o| format!("{o:#x}")) .collect(); println!("nearby: {}", near.join(" ")); }