From a5719ea256a82b3fa554814fe0dfb2e3476ddb32 Mon Sep 17 00:00:00 2001 From: oech3 <79379754+oech3@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:55:23 +0900 Subject: [PATCH] stat: use .filter & dedup check for char --- src/uu/stat/src/stat.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/uu/stat/src/stat.rs b/src/uu/stat/src/stat.rs index 5e4bdde1ae3..e26099258c3 100644 --- a/src/uu/stat/src/stat.rs +++ b/src/uu/stat/src/stat.rs @@ -823,12 +823,12 @@ impl Stater { // Check for multi-character specifiers (e.g., `%Hd`, `%Lr`) if *i + 1 < bound - && let Some(&next_char) = chars.get(*i + 1) + && let Some(&next_char) = chars.get(*i + 1).filter(|c| **c == 'd' || **c == 'r') && (chars[*i] == 'H' || chars[*i] == 'L') - && (next_char == 'd' || next_char == 'r') { - flag.major = chars[*i] == 'H'; - flag.minor = chars[*i] == 'L'; + let is_major = chars[*i] == 'H'; + flag.major = is_major; + flag.minor = !is_major; // chars[*i] == 'L' *i += 1; return Ok(Token::Directive { flag,