X-Git-Url: https://i11git.iti.kit.edu/anon-gitweb/?p=Mitarbeiter%2FTim-Zeitz%2Fstud-rust-base.git;a=blobdiff_plain;f=src%2Fbin%2Fdecode_vector.rs;h=68d5bb24f59de11de27a8d9d24e29849713bead8;hp=180804b15f88e00e88cdf468cc752f9285e211c1;hb=7e14e0703289af36efa95d687c71116a7a53a450;hpb=ec83c6d11ff3487e13dc83aacd6032ffe587ac85 diff --git a/src/bin/decode_vector.rs b/src/bin/decode_vector.rs index 180804b..68d5bb2 100644 --- a/src/bin/decode_vector.rs +++ b/src/bin/decode_vector.rs @@ -1,43 +1,39 @@ -extern crate stud_rust_base; -use stud_rust_base::io::*; -use std::env; +use stud_rust_base::{io::*, cli::CliErr}; +use std::{env, error::Error}; -fn main() { - let mut args = env::args(); - args.next(); - - match &args.collect::>()[..] { +fn main() -> Result<(), Box> { + match &env::args().skip(1).collect::>()[..] { [data_type, input] => { match data_type.as_ref() { - "i8" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "u8" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "i16" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "u16" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "i32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "u32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "i64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "u64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "f32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "f64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "int8" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "uint8" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "int16" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "uint16" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "int32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "uint32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "int64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "uint64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "float32" => print_values(Vec::::load_from(input).expect("Failed to read from input")), - "float64" => print_values(Vec::::load_from(input).expect("Failed to read from input")), + "i8" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "u8" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "i16" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "u16" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "i32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "u32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "i64" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "u64" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "f32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "f64" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "int8" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "uint8" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "int16" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "uint16" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "int32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "uint32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "int64" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "uint64" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "float32" => { print_values(Vec::::load_from(input)?); Ok(()) }, + "float64" => { print_values(Vec::::load_from(input)?); Ok(()) }, _ => { print_usage(); - panic!("Unknown data_type {}", data_type); + Err(Box::new(CliErr("Invalid data type"))) } - }; + } }, _ => { print_usage(); - panic!("Invalid input") + Err(Box::new(CliErr("Invalid arguments"))) }, } }