made code a bit safer, harder to crash

This commit is contained in:
deadvey 2025-01-12 02:19:05 +00:00
parent 3d12793550
commit 4e7422c478
3 changed files with 22 additions and 7 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
Cargo.lock
target

BIN
src/.main.rs.swp Normal file

Binary file not shown.

View File

@ -245,9 +245,11 @@ fn main() {
// 'previous
// host'
let mut load_page: bool = true;
'mainloop: loop {
let mut links: Vec<String> = Vec::new();
'mainloop: loop {
if load_page {
links = Vec::new();
links = render_page(host.clone(), port.clone(), path.clone());
println!("Enter reference number to follow, h for help, or q to quit ");
@ -268,14 +270,25 @@ fn main() {
}
else if link_to_follow.chars().nth(0).unwrap() == 'o' {
let number_str = &link_to_follow[1..];
let number: usize = number_str.parse::<usize>().unwrap();
if let Ok(number) = number_str.parse::<usize>() {
println!("{}", links[number]);
} else {
println!("error");
}
load_page = false;
}
else {
let number: usize = link_to_follow.parse::<usize>().unwrap();
if let Ok(number) = link_to_follow.parse::<usize>() {
if number < links.len() {
(host, port, path) = parse_url(links[number].clone(), &host);
} else {
println!("Invalid reference id");
load_page = false;
}
} else {
println!("Invalid input");
load_page = false;
}
}
}
}