From f6f9ca744910e88c947df39d850637f84d9f5eda Mon Sep 17 00:00:00 2001 From: Nicolas Boichat Date: Tue, 22 Jul 2025 13:53:48 +0800 Subject: [PATCH] uucore: Move strip_minus_from_mode to mkdir It's only used there anyway. --- src/uu/mkdir/src/mkdir.rs | 18 +++++++++++++++++- src/uucore/src/lib/features/mode.rs | 20 -------------------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/uu/mkdir/src/mkdir.rs b/src/uu/mkdir/src/mkdir.rs index 4e46460f2..4c96f42b5 100644 --- a/src/uu/mkdir/src/mkdir.rs +++ b/src/uu/mkdir/src/mkdir.rs @@ -85,9 +85,25 @@ fn strip_minus_from_mode(_args: &mut [String]) -> bool { false } +// Iterate 'args' and delete the first occurrence +// of a prefix '-' if it's associated with MODE +// e.g. "chmod -v -xw -R FILE" -> "chmod -v xw -R FILE" #[cfg(not(windows))] fn strip_minus_from_mode(args: &mut Vec) -> bool { - mode::strip_minus_from_mode(args) + for arg in args { + if arg == "--" { + break; + } + if let Some(arg_stripped) = arg.strip_prefix('-') { + if let Some('r' | 'w' | 'x' | 'X' | 's' | 't' | 'u' | 'g' | 'o' | '0'..='7') = + arg.chars().nth(1) + { + *arg = arg_stripped.to_string(); + return true; + } + } + } + false } #[uucore::main] diff --git a/src/uucore/src/lib/features/mode.rs b/src/uucore/src/lib/features/mode.rs index 5a0a51727..7befc1a67 100644 --- a/src/uucore/src/lib/features/mode.rs +++ b/src/uucore/src/lib/features/mode.rs @@ -182,26 +182,6 @@ pub fn get_umask() -> u32 { return mask as u32; } -// Iterate 'args' and delete the first occurrence -// of a prefix '-' if it's associated with MODE -// e.g. "chmod -v -xw -R FILE" -> "chmod -v xw -R FILE" -pub fn strip_minus_from_mode(args: &mut Vec) -> bool { - for arg in args { - if arg == "--" { - break; - } - if let Some(arg_stripped) = arg.strip_prefix('-') { - if let Some('r' | 'w' | 'x' | 'X' | 's' | 't' | 'u' | 'g' | 'o' | '0'..='7') = - arg.chars().nth(1) - { - *arg = arg_stripped.to_string(); - return true; - } - } - } - false -} - #[cfg(test)] mod test {