From b0c200e831799f01d2bb541f14233aa2a5598c90 Mon Sep 17 00:00:00 2001 From: Terts Diepraam Date: Thu, 13 Oct 2022 19:59:10 +0200 Subject: [PATCH] env: handle `-` correctly again --- src/uu/env/src/env.rs | 6 +++++- tests/by-util/test_env.rs | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/uu/env/src/env.rs b/src/uu/env/src/env.rs index 0e51cf748..01f63a1c8 100644 --- a/src/uu/env/src/env.rs +++ b/src/uu/env/src/env.rs @@ -227,7 +227,11 @@ fn run_env(args: impl uucore::Args) -> UResult<()> { // read NAME=VALUE arguments (and up to a single program argument) while !begin_prog_opts { if let Some(opt) = iter.next() { - begin_prog_opts = parse_name_value_opt(&mut opts, opt)?; + if opt == "-" { + opts.ignore_env = true; + } else { + begin_prog_opts = parse_name_value_opt(&mut opts, opt)?; + } } else { break; } diff --git a/tests/by-util/test_env.rs b/tests/by-util/test_env.rs index 74bb805a7..3172320f3 100644 --- a/tests/by-util/test_env.rs +++ b/tests/by-util/test_env.rs @@ -120,8 +120,8 @@ fn test_multiple_name_value_pairs() { fn test_ignore_environment() { let scene = TestScenario::new(util_name!()); - scene.ucmd().arg("-i").run().no_stdout(); - scene.ucmd().arg("-").run().no_stdout(); + scene.ucmd().arg("-i").succeeds().no_stdout(); + scene.ucmd().arg("-").succeeds().no_stdout(); } #[test]