bhcli

A TUI for chatting on LE PHP Chats (onion)
git clone https://git.dasho.dev/n0tr1v/bhcli.git
Log | Files | Refs | README

commit 650d77f0e2bd69ec689f387b6c991fef48884f1e
parent a4a8b7e4c0049c23985ae3db32da688cc7f105c6
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Fri, 31 Mar 2023 19:09:02 -0700

simplify code remove useless clone

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

diff --git a/src/lechatphp/mod.rs b/src/lechatphp/mod.rs @@ -122,7 +122,7 @@ fn solve_difficulty2(img: &DynamicImage) -> Option<String> { Some(answer) } -#[derive(Clone, Debug, PartialEq, Eq, Hash)] +#[derive(Debug, PartialEq, Eq, Hash)] struct Letter { offset: Point, character: char, @@ -178,7 +178,7 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> { Ok(answer) } -fn solve_path(starting: Letter, letters_set: &HashSet<Letter>, img: &DynamicImage) -> String { +fn solve_path(starting: &Letter, letters_set: &HashSet<Letter>, img: &DynamicImage) -> String { let mut answer = String::new(); let mut remaining: HashSet<_> = letters_set.iter().collect(); let mut letter = remaining.take(&starting).unwrap(); @@ -248,18 +248,16 @@ fn find_letters(img: &DynamicImage) -> HashSet<Letter> { letters_set } -fn get_starting_letter(img: &DynamicImage, letters_set: &HashSet<Letter>) -> Option<Letter> { +fn get_starting_letter<'a>(img: &DynamicImage, letters_set: &'a HashSet<Letter>) -> Option<&'a Letter> { const MIN_STARTING_PT_RED_PX: usize = 50; - let mut starting: Option<Letter> = None; for letter in letters_set.iter() { let square = img.crop_imm(letter.offset.x-5, letter.offset.y-3, LETTER_WIDTH+5+6, LETTER_HEIGHT+3+2); let count_red = count_red_px(&square); if count_red > MIN_STARTING_PT_RED_PX { - starting = Some(letter.clone()); - break; + return Some(letter); } } - starting + None } #[derive(Debug, Clone, PartialEq, Eq, Hash)]