From b05e6ce3dbb1d39fa517c6288090a41e84c420f8 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Sun, 1 Jul 2018 08:04:41 -0700 Subject: [PATCH] Cleanup solana-genesis --- src/bin/genesis.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/bin/genesis.rs b/src/bin/genesis.rs index 24dbce9f1..884fadae2 100644 --- a/src/bin/genesis.rs +++ b/src/bin/genesis.rs @@ -6,31 +6,27 @@ extern crate solana; use atty::{is, Stream}; use solana::mint::Mint; -use std::io::{stdin, Read}; +use std::error; +use std::io::{stdin, stdout, Read, Write}; use std::process::exit; -fn main() { +fn main() -> Result<(), Box> { if is(Stream::Stdin) { eprintln!("nothing found on stdin, expected a json file"); exit(1); } let mut buffer = String::new(); - let num_bytes = stdin().read_to_string(&mut buffer).unwrap(); + let num_bytes = stdin().read_to_string(&mut buffer)?; if num_bytes == 0 { eprintln!("empty file on stdin, expected a json file"); exit(1); } - let mint: Mint = serde_json::from_str(&buffer).unwrap_or_else(|e| { - eprintln!("failed to parse json: {}", e); - exit(1); - }); + let mint: Mint = serde_json::from_str(&buffer)?; + let mut writer = stdout(); for x in mint.create_entries() { - let serialized = serde_json::to_string(&x).unwrap_or_else(|e| { - eprintln!("failed to serialize: {}", e); - exit(1); - }); - println!("{}", serialized); + writeln!(writer, "{}", serde_json::to_string(&x)?)?; } + Ok(()) }