diff options
Diffstat (limited to 'users/Profpatsch/netencode')
-rw-r--r-- | users/Profpatsch/netencode/default.nix | 9 | ||||
-rw-r--r-- | users/Profpatsch/netencode/netencode.rs | 7 |
2 files changed, 10 insertions, 6 deletions
diff --git a/users/Profpatsch/netencode/default.nix b/users/Profpatsch/netencode/default.nix index fb1d2c2ef831..b9822d48225a 100644 --- a/users/Profpatsch/netencode/default.nix +++ b/users/Profpatsch/netencode/default.nix @@ -30,7 +30,10 @@ let netencode-rs-common = tests: imports.writers.rustSimpleLib { name = "netencode"; - dependencies = [ nom ]; + dependencies = [ + nom + depot.users.Profpatsch.execline.exec-helpers + ]; buildTests = tests; release = false; verbose = true; @@ -101,13 +104,13 @@ let use netencode::dec::{Record, ScalarAsBytes, Decoder, DecodeError}; fn main() { - let t = netencode::t_from_stdin_or_panic("record-splice-env"); + let t = netencode::t_from_stdin_or_die_user_error("record-splice-env"); let (_, prog) = exec_helpers::args_for_exec("record-splice-env", 0); match Record::<ScalarAsBytes>::dec(t) { Ok(map) => { exec_helpers::exec_into_args("record-splice-env", prog, map); }, - Err(DecodeError(err)) => panic!("{}", err), + Err(DecodeError(err)) => exec_helpers::die_user_error("record-splice-env", err), } } ''; diff --git a/users/Profpatsch/netencode/netencode.rs b/users/Profpatsch/netencode/netencode.rs index 66f3245fcf99..f6158ae3e6a0 100644 --- a/users/Profpatsch/netencode/netencode.rs +++ b/users/Profpatsch/netencode/netencode.rs @@ -1,4 +1,5 @@ extern crate nom; +extern crate exec_helpers; use std::collections::HashMap; use std::io::{Write, Read}; @@ -116,15 +117,15 @@ pub fn text(s: String) -> T { T::Text(s) } -pub fn t_from_stdin_or_panic(prog_name: &str) -> T { +pub fn t_from_stdin_or_die_user_error(prog_name: &str) -> T { let mut buf = vec![]; std::io::stdin().lock().read_to_end(&mut buf); match parse::t_t(&buf) { Ok((rest, t)) => match rest { b"" => t, - _ => panic!("{}: stdin contained some soup after netencode value: {:?}", prog_name, rest) + _ => exec_helpers::die_user_error(prog_name, format!("stdin contained some soup after netencode value: {:?}", rest)) }, - Err(err) => panic!("{}: unable to parse netencode from stdin: {:?}", prog_name, err) + Err(err) => exec_helpers::die_user_error(prog_name, format!("unable to parse netencode from stdin: {:?}", err)) } } |