From 507a524c40ac7f4d8c2206e39068d05511cb2865 Mon Sep 17 00:00:00 2001 From: oech3 <79379754+oech3@users.noreply.github.com> Date: Mon, 2 Feb 2026 05:44:42 +0900 Subject: [PATCH] tee miss/ing 2>/dev/full should not abort (#10637) --- src/uu/tee/src/tee.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/uu/tee/src/tee.rs b/src/uu/tee/src/tee.rs index 026f7fd95..b9912c42e 100644 --- a/src/uu/tee/src/tee.rs +++ b/src/uu/tee/src/tee.rs @@ -6,13 +6,13 @@ use clap::{Arg, ArgAction, Command, builder::PossibleValue}; use std::ffi::OsString; use std::fs::OpenOptions; -use std::io::{Error, ErrorKind, Read, Result, Write, stdin, stdout}; +use std::io::{Error, ErrorKind, Read, Result, Write, stderr, stdin, stdout}; use std::path::PathBuf; use uucore::display::Quotable; use uucore::error::UResult; +use uucore::format_usage; use uucore::parser::shortcut_value_parser::ShortcutValueParser; use uucore::translate; -use uucore::{format_usage, show_error}; // spell-checker:ignore nopipe @@ -271,7 +271,7 @@ fn open( name: name.clone(), })), Err(f) => { - show_error!("{}: {f}", name.maybe_quote()); + let _ = writeln!(stderr(), "{}: {f}", name.maybe_quote()); match output_error { Some(OutputErrorMode::Exit | OutputErrorMode::ExitNoPipe) => Some(Err(f)), _ => None, @@ -308,26 +308,26 @@ fn process_error( ) -> Result<()> { match mode { Some(OutputErrorMode::Warn) => { - show_error!("{}: {f}", writer.name.maybe_quote()); + let _ = writeln!(stderr(), "{}: {f}", writer.name.maybe_quote()); *ignored_errors += 1; Ok(()) } Some(OutputErrorMode::WarnNoPipe) | None => { if f.kind() != ErrorKind::BrokenPipe { - show_error!("{}: {f}", writer.name.maybe_quote()); + let _ = writeln!(stderr(), "{}: {f}", writer.name.maybe_quote()); *ignored_errors += 1; } Ok(()) } Some(OutputErrorMode::Exit) => { - show_error!("{}: {f}", writer.name.maybe_quote()); + let _ = writeln!(stderr(), "{}: {f}", writer.name.maybe_quote()); Err(f) } Some(OutputErrorMode::ExitNoPipe) => { if f.kind() == ErrorKind::BrokenPipe { Ok(()) } else { - show_error!("{}: {f}", writer.name.maybe_quote()); + let _ = writeln!(stderr(), "{}: {f}", writer.name.maybe_quote()); Err(f) } } @@ -416,7 +416,7 @@ impl Read for NamedReader { fn read(&mut self, buf: &mut [u8]) -> Result { match self.inner.read(buf) { Err(f) => { - show_error!("{}", translate!("tee-error-stdin", "error" => f)); + let _ = writeln!(stderr(), "{}", translate!("tee-error-stdin", "error" => f)); Err(f) } okay => okay,