bhcli

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

commit 68725d295107f9c33c82145cb6a3dd53a17525f8
parent 72e95eeaca3e5df92cccaa99a3444e0999da0577
Author: n0tr1v <n0tr1v@protonmail.com>
Date:   Thu, 30 Mar 2023 02:57:44 -0700

cleanup

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

diff --git a/src/lechatphp/mod.rs b/src/lechatphp/mod.rs @@ -214,7 +214,8 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> { } // Step2: Find the starting letter - let starting = get_starting_letter(&img, &letters_map).ok_or(CaptchaErr("could not find starting letter".to_owned()))?; + let starting = get_starting_letter(&img, &letters_map) + .ok_or(CaptchaErr("could not find starting letter".to_owned()))?; let mut answer = String::new(); let mut visited = HashSet::<Letter>::new(); @@ -237,7 +238,8 @@ fn solve_difficulty3(img: &DynamicImage) -> Result<String, CaptchaErr> { } return Err(CaptchaErr(format!("letter #{} {:?} invalid nb lines detected", i+1, letter))); } - letter = get_next_node(&red_px_pts, &letter, &letters_map, &visited, i, nb_lines)?; + letter = get_next_node(&red_px_pts, &letter, &letters_map, &visited, i, nb_lines) + .ok_or(CaptchaErr(format!("letter #{} {:?} all neighbors already visited", i+1, letter)))?; break 'retry_loop; } answer.push(letter.character); @@ -311,7 +313,7 @@ fn get_starting_letter(img: &DynamicImage, letters_map: &HashMap<char, Letter>) starting } -fn get_next_node(red_px_pts: &Vec<Point>, letter: &Letter, letters_map: &HashMap<char, Letter>, visited: &HashSet<Letter>, i: i32, nb_lines: usize) -> Result<Letter, CaptchaErr> { +fn get_next_node(red_px_pts: &Vec<Point>, letter: &Letter, letters_map: &HashMap<char, Letter>, visited: &HashSet<Letter>, i: i32, nb_lines: usize) -> Option<Letter> { let mut res: Option<Letter> = None; 'lines_loop: for idx in 0..nb_lines { let fst_red_pt = red_px_pts.get(idx).unwrap(); @@ -330,10 +332,7 @@ fn get_next_node(red_px_pts: &Vec<Point>, letter: &Letter, letters_map: &HashMap } res = Some(neighbor); } - match res { - Some(res) => Ok(res), - None => Err(CaptchaErr(format!("letter #{} {:?} all neighbors already visited", i+1, letter))), - } + res }