From 2efed748d8480732820a464d8e6dbb265dbded4f Mon Sep 17 00:00:00 2001 From: oech3 <79379754+oech3@users.noreply.github.com> Date: Sun, 18 Oct 2026 01:20:17 +0900 Subject: [PATCH] stty: simplify string_to_flag --- src/uu/stty/src/stty.rs | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/uu/stty/src/stty.rs b/src/uu/stty/src/stty.rs index 0e57c417d4..21f6665741 100644 --- a/src/uu/stty/src/stty.rs +++ b/src/uu/stty/src/stty.rs @@ -719,25 +719,17 @@ fn string_to_flag(option: &str) -> Option> { let remove = option.starts_with('-'); let name = option.trim_start_matches('-'); - for cflag in CONTROL_FLAGS { - if name == cflag.name { - return Some(AllFlags::ControlFlags((cflag, remove))); - } + if let Some(cflag) = CONTROL_FLAGS.iter().find(|f| f.name == name) { + return Some(AllFlags::ControlFlags((cflag, remove))); } - for iflag in INPUT_FLAGS { - if name == iflag.name { - return Some(AllFlags::InputFlags((iflag, remove))); - } + if let Some(iflag) = INPUT_FLAGS.iter().find(|f| f.name == name) { + return Some(AllFlags::InputFlags((iflag, remove))); } - for lflag in LOCAL_FLAGS { - if name == lflag.name { - return Some(AllFlags::LocalFlags((lflag, remove))); - } + if let Some(lflag) = LOCAL_FLAGS.iter().find(|f| f.name == name) { + return Some(AllFlags::LocalFlags((lflag, remove))); } - for oflag in OUTPUT_FLAGS { - if name == oflag.name { - return Some(AllFlags::OutputFlags((oflag, remove))); - } + if let Some(oflag) = OUTPUT_FLAGS.iter().find(|f| f.name == name) { + return Some(AllFlags::OutputFlags((oflag, remove))); } None }