bhcli

"Strange's fork of n0tr1v's bhcli (onion)"
git clone https://git.dasho.dev/Strange/bhcli.git
Log | Files | Refs | README

commit 246702df37bc8a307eaa8d5d0d6d63c9f09a7363
parent da8caf48aedefc7395402c11d709aee8d0b933b0
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri, 31 Mar 2023 16:36:17 -0700

avoid cloning a bunch of values for no reason

Diffstat:
Msrc/lechatphp/mod.rs | 10+++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lechatphp/mod.rs b/src/lechatphp/mod.rs @@ -180,17 +180,17 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> { fn solve_path(starting: Letter, letters_map: &HashMap<char, Letter>, img: &DynamicImage) -> String { let mut answer = String::new(); - let mut remaining: HashSet<_> = letters_map.values().cloned().collect(); - let mut letter = starting; + let mut remaining: HashSet<_> = letters_map.values().collect(); + let mut letter = remaining.take(&starting).unwrap(); for _ in 0..NB_CHARS { - remaining.remove(&letter); + remaining.remove(letter); answer.push(letter.character); - let mut dest_count = HashMap::<Letter, usize>::new(); + let mut dest_count = HashMap::<&Letter, usize>::new(); for dest in remaining.iter() { let red = Bresenham::new(letter.center().into(), dest.center().into()) .filter(|(x, y)| is_red(img.get_pixel(*x as u32, *y as u32))) .count(); - dest_count.insert(dest.clone(), red); + dest_count.insert(dest, red); } if let Some((dest_max, _)) = dest_count.into_iter().max_by(|a, b| a.1.cmp(&b.1)) { letter = dest_max;