Skip to content

Commit

Permalink
Merge pull request #5674 from cakebaker/ls_ignore_invalid_block_size_…
Browse files Browse the repository at this point in the history
…from_env_vars

ls: ignore invalid block size from env vars
  • Loading branch information
sylvestre authored Dec 19, 2023
2 parents 5cc5aa7 + a560661 commit 3d42619
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/uu/ls/src/ls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -840,9 +840,14 @@ impl Config {
match parse_size_u64(&raw_block_size.to_string_lossy()) {
Ok(size) => Some(size),
Err(_) => {
return Err(Box::new(LsError::BlockSizeParseError(
opt_block_size.unwrap().clone(),
)));
// only fail if invalid block size was specified with --block-size,
// ignore invalid block size from env vars
if let Some(invalid_block_size) = opt_block_size {
return Err(Box::new(LsError::BlockSizeParseError(
invalid_block_size.clone(),
)));
}
None
}
}
} else if env_var_posixly_correct.is_some() {
Expand Down
8 changes: 8 additions & 0 deletions tests/by-util/test_ls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3874,6 +3874,14 @@ fn test_ls_invalid_block_size() {
.stderr_is("ls: invalid --block-size argument 'invalid'\n");
}

// TODO ensure the correct block size is used when using -l because
// the output of "ls -l" and "BLOCK_SIZE=invalid ls -l" is different
#[test]
fn test_ls_invalid_block_size_in_env_var() {
new_ucmd!().env("LS_BLOCK_SIZE", "invalid").succeeds();
new_ucmd!().env("BLOCK_SIZE", "invalid").succeeds();
}

#[cfg(all(unix, feature = "dd"))]
#[test]
fn test_ls_block_size_override() {
Expand Down

0 comments on commit 3d42619

Please sign in to comment.