diff --git a/src/uu/stdbuf/locales/en-US.ftl b/src/uu/stdbuf/locales/en-US.ftl index 82fd18899dd..5dcd9b8a361 100644 --- a/src/uu/stdbuf/locales/en-US.ftl +++ b/src/uu/stdbuf/locales/en-US.ftl @@ -27,7 +27,5 @@ stdbuf-error-value-too-large = invalid mode '{$value}': Value too large for defi stdbuf-error-external-libstdbuf-not-found = External libstdbuf not found at configured path: {$path} stdbuf-error-preload-path-separator = libstdbuf path {$path} contains ':', which cannot be represented in {$var} stdbuf: set TMPDIR to a directory whose path has no ':' -stdbuf-error-permission-denied = failed to execute process: Permission denied -stdbuf-error-no-such-file = failed to execute process: No such file or directory stdbuf-error-failed-to-execute = failed to execute process: {$error} stdbuf-error-killed-by-signal = process killed by signal {$signal} diff --git a/src/uu/stdbuf/locales/fr-FR.ftl b/src/uu/stdbuf/locales/fr-FR.ftl index b2adcae74b2..d408ca7531a 100644 --- a/src/uu/stdbuf/locales/fr-FR.ftl +++ b/src/uu/stdbuf/locales/fr-FR.ftl @@ -26,7 +26,5 @@ stdbuf-error-value-too-large = mode invalide '{$value}' : Valeur trop grande pou stdbuf-error-external-libstdbuf-not-found = libstdbuf externe introuvable au chemin configuré : {$path} stdbuf-error-preload-path-separator = le chemin de libstdbuf {$path} contient ':', ce qui ne peut pas être représenté dans {$var} stdbuf: définissez TMPDIR vers un répertoire dont le chemin ne contient pas ':' -stdbuf-error-permission-denied = échec de l'exécution du processus : Permission refusée -stdbuf-error-no-such-file = échec de l'exécution du processus : Aucun fichier ou répertoire de ce type stdbuf-error-failed-to-execute = échec de l'exécution du processus : {$error} stdbuf-error-killed-by-signal = processus tué par le signal {$signal} diff --git a/src/uu/stdbuf/src/stdbuf.rs b/src/uu/stdbuf/src/stdbuf.rs index 3ff36885b9c..c2db6869d6f 100644 --- a/src/uu/stdbuf/src/stdbuf.rs +++ b/src/uu/stdbuf/src/stdbuf.rs @@ -15,7 +15,7 @@ use tempfile::TempDir; use tempfile::tempdir; use thiserror::Error; use uucore::display::Quotable; -use uucore::error::{UResult, USimpleError, UUsageError}; +use uucore::error::{UResult, USimpleError, UUsageError, strip_errno}; use uucore::format_usage; use uucore::parser::parse_size::parse_size_u64; use uucore::translate; @@ -236,20 +236,15 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { Err(err) => err, }; // exec() only returns if there was an error - match e.kind() { - std::io::ErrorKind::PermissionDenied => Err(USimpleError::new( - 126, - translate!("stdbuf-error-permission-denied"), - )), - std::io::ErrorKind::NotFound => Err(USimpleError::new( - 127, - translate!("stdbuf-error-no-such-file"), - )), - _ => Err(USimpleError::new( - 1, - translate!("stdbuf-error-failed-to-execute", "error" => e), - )), - } + let exit_code = match e.kind() { + std::io::ErrorKind::PermissionDenied => 126, + std::io::ErrorKind::NotFound => 127, + _ => 1, + }; + Err(USimpleError::new( + exit_code, + translate!("stdbuf-error-failed-to-execute", "error" => strip_errno(&e)), + )) } pub fn uu_app() -> Command {