From 03fec5f4dbdd3fd46ae949957f3b89ec92a188ab Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Sun, 21 Jul 2019 10:42:27 +0200 Subject: [PATCH] List diaries only if output is not a pipe Beforehand, this command: imag diary -d foo list | cat listed each entry twice because the reporting feature of libimagrt forwarded the list to stdout and the normal output was written to stderr. With this patch, we get the output only once in this case. Signed-off-by: Matthias Beyer --- bin/domain/imag-diary/src/list.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/domain/imag-diary/src/list.rs b/bin/domain/imag-diary/src/list.rs index 3d07f6fa..2719d11a 100644 --- a/bin/domain/imag-diary/src/list.rs +++ b/bin/domain/imag-diary/src/list.rs @@ -57,7 +57,9 @@ pub fn list(rt: &Runtime) { .for_each(|id| { let _ = rt.report_touched(&id).unwrap_or_exit(); - writeln!(rt.stdout(), "{}", id).to_exit_code().unwrap_or_exit() + if !rt.output_is_pipe() { + writeln!(rt.stdout(), "{}", id).to_exit_code().unwrap_or_exit() + } }); }