From 59df0b8fb83c483faa7207ffd2a406e84edcf011 Mon Sep 17 00:00:00 2001 From: Ulrich Hornung Date: Fri, 22 Mar 2024 22:36:57 +0100 Subject: [PATCH] replace comment with extracted function --- src/uu/env/src/env.rs | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/uu/env/src/env.rs b/src/uu/env/src/env.rs index 1801b71f3..64a2a0d14 100644 --- a/src/uu/env/src/env.rs +++ b/src/uu/env/src/env.rs @@ -388,21 +388,7 @@ impl EnvAppData { // load .env-style config file prior to those given on the command-line load_config_file(&mut opts)?; - // unset specified env vars - for name in &opts.unsets { - let native_name = NativeStr::new(name); - if name.is_empty() - || native_name.contains(&'\0').unwrap() - || native_name.contains(&'=').unwrap() - { - return Err(USimpleError::new( - 125, - format!("cannot unset {}: Invalid argument", name.quote()), - )); - } - - env::remove_var(name); - } + apply_unset_env_vars(&opts)?; apply_specified_env_vars(&opts); @@ -483,6 +469,24 @@ impl EnvAppData { } } +fn apply_unset_env_vars(opts: &Options<'_>) -> Result<(), Box> { + for name in &opts.unsets { + let native_name = NativeStr::new(name); + if name.is_empty() + || native_name.contains(&'\0').unwrap() + || native_name.contains(&'=').unwrap() + { + return Err(USimpleError::new( + 125, + format!("cannot unset {}: Invalid argument", name.quote()), + )); + } + + env::remove_var(name); + } + Ok(()) +} + fn apply_change_directory(opts: &Options<'_>) -> Result<(), Box> { if let Some(d) = opts.running_directory { match env::set_current_dir(d) {