From 55ab14dde2e6e78f66f74105c5d80d385494929e Mon Sep 17 00:00:00 2001 From: Josh Triplett Date: Sat, 16 Jul 2016 21:06:49 -0700 Subject: [PATCH] If writing an error to the pager fails, write it to stderr This ensures that errors about the pager itself, such as broken pipes, show up somewhere. --- src/main.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index e121f4e3801d8f4fab02c4bde8544c9957ee79db..d00a9fd58cfe0efd033e45ed5978e37e05a9c604 100644 --- a/src/main.rs +++ b/src/main.rs @@ -624,7 +624,9 @@ impl Output { fn write_err(&mut self, msg: &str) { if self.include_stderr { - write!(self, "{}", msg).unwrap(); + if write!(self, "{}", msg).is_err() { + write!(std::io::stderr(), "{}", msg).unwrap(); + } } else { write!(std::io::stderr(), "{}", msg).unwrap(); }