From 22bd03668a8b9f3b5daf7c863b5a92f263086986 Mon Sep 17 00:00:00 2001 From: xtqqczze <45661989+xtqqczze@users.noreply.github.com> Date: Thu, 23 Apr 2026 12:53:26 +0100 Subject: [PATCH] refactor(du): simplify error handling --- src/uu/du/src/du.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/uu/du/src/du.rs b/src/uu/du/src/du.rs index a7e84468d..012517dc3 100644 --- a/src/uu/du/src/du.rs +++ b/src/uu/du/src/du.rs @@ -6,7 +6,7 @@ // spell-checker:ignore fstatat openat dirfd use clap::{Arg, ArgAction, ArgMatches, Command, builder::PossibleValue}; -use glob::Pattern; +use glob::{Pattern, PatternError}; use rustc_hash::FxHashSet as HashSet; use std::env; use std::ffi::{OsStr, OsString}; @@ -749,7 +749,7 @@ enum DuError { InvalidTimeStyleArg(String), #[error("{}", translate!("du-error-invalid-glob", "error" => _0))] - InvalidGlob(String), + InvalidGlob(PatternError), } impl UError for DuError {} @@ -785,10 +785,8 @@ fn build_exclude_patterns(matches: &ArgMatches) -> UResult> { translate!("du-verbose-adding-to-exclude-list", "pattern" => f.clone()) ); } - match parse_glob::from_str(&f) { - Ok(glob) => exclude_patterns.push(glob), - Err(err) => return Err(DuError::InvalidGlob(err.to_string()).into()), - } + let glob = parse_glob::from_str(&f).map_err(DuError::InvalidGlob)?; + exclude_patterns.push(glob); } Ok(exclude_patterns) }