From 9a501d0fe195634830dda87760ea0f38201a4ec2 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Thu, 2 Feb 2023 13:19:21 -0330 Subject: check buffer not empty within push_buffer_to_stack() --- src/input.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/input.rs b/src/input.rs index ecb4b3f..01d0b11 100644 --- a/src/input.rs +++ b/src/input.rs @@ -21,7 +21,7 @@ impl Calculator { KeyCode::Char(c) => { self.push_to_buffer(c); } - KeyCode::Enter if self.input_buffer.len() > 0 => { + KeyCode::Enter => { self.push_buffer_to_stack(); } KeyCode::Backspace => { @@ -43,23 +43,21 @@ impl Calculator { } self.input_buffer.push(c); } else if let Ok(op) = Operator::parse(c) { - if self.input_buffer.len() > 0 { - self.push_buffer_to_stack(); - } + self.push_buffer_to_stack(); self.perform_operation(op); } } fn push_buffer_to_stack(&mut self) { - self.stack.push(self.input_buffer.parse::().unwrap()); - self.input_buffer = String::new(); + if self.input_buffer.len() > 0 { + self.stack.push(self.input_buffer.parse::().unwrap()); + self.input_buffer = String::new(); + } } fn swap(&mut self) { if let Some(f) = self.stack.pop() { - if self.input_buffer.len() > 0 { - self.push_buffer_to_stack(); - } + self.push_buffer_to_stack(); self.input_buffer = format!("{}", f); } } -- cgit v1.2.3