Fix broken pipe panics

This commit is contained in:
Matthias Beyer 2018-02-14 18:44:25 +01:00
parent e501f66dac
commit 849229eec6

View file

@ -29,11 +29,14 @@ extern crate libimagtodo;
use std::process::{Command, Stdio}; use std::process::{Command, Stdio};
use std::io::stdin; use std::io::stdin;
use std::io::Write;
use libimagrt::runtime::Runtime; use libimagrt::runtime::Runtime;
use libimagrt::setup::generate_runtime_setup; use libimagrt::setup::generate_runtime_setup;
use libimagtodo::taskstore::TaskStore; use libimagtodo::taskstore::TaskStore;
use libimagerror::trace::{MapErrTrace, trace_error}; use libimagerror::trace::{MapErrTrace, trace_error};
use libimagerror::exit::ExitUnwrap;
use libimagerror::io::ToExitCode;
mod ui; mod ui;
@ -68,7 +71,10 @@ fn tw_hook(rt: &Runtime) {
.import_task_from_reader(stdin) .import_task_from_reader(stdin)
.map_err_trace_exit_unwrap(1); .map_err_trace_exit_unwrap(1);
println!("{}\nTask {} stored in imag", line, uuid); let _ = writeln!(::std::io::stdout(), "{}\nTask {} stored in imag", line, uuid)
.to_exit_code()
.unwrap_or_exit();
} else if subcmd.is_present("delete") { } else if subcmd.is_present("delete") {
// The used hook is "on-modify". This hook gives two json-objects // The used hook is "on-modify". This hook gives two json-objects
// per usage und wants one (the second one) back. // per usage und wants one (the second one) back.
@ -142,7 +148,7 @@ fn list(rt: &Runtime) {
}; };
// and then print that // and then print that
println!("{}", outstring); let _ = writeln!(::std::io::stdout(), "{}", outstring).to_exit_code().unwrap_or_exit();
}); });
res.map_err_trace().ok(); res.map_err_trace().ok();