summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2019-07-21 10:42:27 +0200
committerMatthias Beyer <mail@beyermatthias.de>2019-07-21 10:42:27 +0200
commit03fec5f4dbdd3fd46ae949957f3b89ec92a188ab (patch)
tree189f15d89bdac7a7fd9e0f96d7e288c00b297e21
parentd53e30645980c3da9a887deaa7965168b99fa7a8 (diff)
downloadimag-03fec5f4dbdd3fd46ae949957f3b89ec92a188ab.zip
imag-03fec5f4dbdd3fd46ae949957f3b89ec92a188ab.tar.gz
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 <mail@beyermatthias.de>
-rw-r--r--bin/domain/imag-diary/src/list.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/bin/domain/imag-diary/src/list.rs b/bin/domain/imag-diary/src/list.rs
index 3d07f6f..2719d11 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()
+ }
});
}