diff --git a/src/uu/du/src/du.rs b/src/uu/du/src/du.rs index b71d5f44c..0de16121a 100644 --- a/src/uu/du/src/du.rs +++ b/src/uu/du/src/du.rs @@ -721,6 +721,12 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { excludes: build_exclude_patterns(&matches)?, }; + let time_format = if time.is_some() { + parse_time_style(matches.get_one::("time-style").map(|s| s.as_str()))?.to_string() + } else { + "%Y-%m-%d %H:%M".to_string() + }; + let stat_printer = StatPrinter { max_depth, size_format, @@ -737,8 +743,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { .transpose()?, apparent_size: matches.get_flag(options::APPARENT_SIZE) || matches.get_flag(options::BYTES), time, - time_format: parse_time_style(matches.get_one::("time-style").map(|s| s.as_str()))? - .to_string(), + time_format, line_ending: LineEnding::from_zero_flag(matches.get_flag(options::NULL)), }; diff --git a/tests/by-util/test_du.rs b/tests/by-util/test_du.rs index 92469b6f5..dbd2c9c94 100644 --- a/tests/by-util/test_du.rs +++ b/tests/by-util/test_du.rs @@ -1116,3 +1116,13 @@ fn test_du_files0_from_combined() { assert!(stderr.contains("file operands cannot be combined with --files0-from")); } + +#[test] +fn test_invalid_time_style() { + let ts = TestScenario::new(util_name!()); + ts.ucmd() + .arg("-s") + .arg("--time-style=banana") + .succeeds() + .stdout_does_not_contain("du: invalid argument 'banana' for 'time style'"); +}