diff --git a/src/builtins/logout.rs b/src/builtins/logout.rs index ce3a450..5056e48 100644 --- a/src/builtins/logout.rs +++ b/src/builtins/logout.rs @@ -9,9 +9,14 @@ impl Builtin for Logout { fn execute(&mut self, _: &mut BuiltinConfig, _: Vec) -> Result<(), ShellError> { let mut input_confirmation = String::new(); println!("Are you sure? Unsaved data will be lost.\ny/n"); - io::stdin() - .read_line(&mut input_confirmation) - .expect("Couldn't read form stdin"); + match io::stdin().read_line(&mut input_confirmation) { + Ok(_) => {} + Err(e) => { + return Err(ShellError::ExecuteFailure(format!( + "Couldn't read from stdin. {e}", + ))); + } + } if input_confirmation.starts_with('y') { match logout() { Ok(_) => println!("Logging out"),