From 9f55cf9ad7e7a07bc422cd3e5dd41a8c8ca4c189 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Sun, 6 Oct 2019 21:37:42 +0200 Subject: Don't treat EOF in input as error --- src/main.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 396c1d2..66319b1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -50,8 +50,11 @@ impl Program { }, Command::GETC => { let mut char_in = [0]; - input.read_exact(&mut char_in).or(Err("Reading the input failed"))?; - memory.insert(pos, char_in[0]); + match input.read_exact(&mut char_in) { + Ok(_) => memory.insert(pos, char_in[0]), + Err(ref err) if err.kind() == io::ErrorKind::UnexpectedEof => None /* do nothing */, + Err(_) => return Err("Reading from input failed".to_string()), + }; }, Command::LOOPSTART { end } => { if *memory.get(&pos).unwrap_or(&0) == 0 { -- cgit v1.2.3