diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/main.rs b/src/main.rs index 8d6e186..ead1268 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,8 +4,7 @@ use bedrock_asm::*; fn main() { // Read source code from standard input let mut source_code = String::new(); - let mut stdin = std::io::stdin().lock(); - if let Err(err) = stdin.read_to_string(&mut source_code) { + if let Err(err) = std::io::stdin().read_to_string(&mut source_code) { eprintln!("Could not read from standard input, quitting."); eprintln!("({err:?})"); std::process::exit(1); @@ -17,23 +16,16 @@ fn main() { if token.print_error(&source_code) { is_error = true }; } eprintln!("Assembled program in {} bytes.", bytecode.len()); - let bytecode_len = bytecode.len(); if is_error { std::process::exit(1) } // Write bytecode to standard output - let mut stdout = std::io::stdout().lock(); - match stdout.write(&bytecode) { - Ok(len) => if len != bytecode_len { - eprintln!("Only wrote {len} of {bytecode_len} bytes") - } - Err(err) => { - eprintln!("Could not write to standard output, quitting."); - eprintln!("({err:?})"); - std::process::exit(1); - } + if let Err(err) = std::io::stdout().write_all(&bytecode) { + eprintln!("Could not write to standard output, quitting."); + eprintln!("({err:?})"); + std::process::exit(1); } } |