From 747bc2513e69d0a0675cbff1ba1b82d877f757b6 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Fri, 13 Jan 2023 10:05:09 +0100 Subject: [PATCH] sum: fix output when using BSD sum algo (-r) --- src/uu/sum/src/sum.rs | 11 ++++------- tests/fixtures/sum/bsd_multiple_files.expected | 4 ++-- tests/fixtures/sum/bsd_single_file.expected | 2 +- tests/fixtures/sum/bsd_stdin.expected | 2 +- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/uu/sum/src/sum.rs b/src/uu/sum/src/sum.rs index 685ac756d..54c254faa 100644 --- a/src/uu/sum/src/sum.rs +++ b/src/uu/sum/src/sum.rs @@ -116,11 +116,8 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { let sysv = matches.get_flag(options::SYSTEM_V_COMPATIBLE); - let print_names = if sysv { - files.len() > 1 || files[0] != "-" - } else { - files.len() > 1 - }; + let print_names = files.len() > 1 || files[0] != "-"; + let width = if sysv { 1 } else { 5 }; for file in &files { let reader = match open(file) { @@ -137,9 +134,9 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { }; if print_names { - println!("{} {} {}", sum, blocks, file); + println!("{:0width$} {:width$} {}", sum, blocks, file); } else { - println!("{} {}", sum, blocks); + println!("{:0width$} {:width$}", sum, blocks); } } Ok(()) diff --git a/tests/fixtures/sum/bsd_multiple_files.expected b/tests/fixtures/sum/bsd_multiple_files.expected index 1b05ee27f..941a2a512 100644 --- a/tests/fixtures/sum/bsd_multiple_files.expected +++ b/tests/fixtures/sum/bsd_multiple_files.expected @@ -1,2 +1,2 @@ -8109 1 lorem_ipsum.txt -1814 1 alice_in_wonderland.txt +08109 1 lorem_ipsum.txt +01814 1 alice_in_wonderland.txt diff --git a/tests/fixtures/sum/bsd_single_file.expected b/tests/fixtures/sum/bsd_single_file.expected index 3cffc4337..293ada3bd 100644 --- a/tests/fixtures/sum/bsd_single_file.expected +++ b/tests/fixtures/sum/bsd_single_file.expected @@ -1 +1 @@ -8109 1 +08109 1 lorem_ipsum.txt diff --git a/tests/fixtures/sum/bsd_stdin.expected b/tests/fixtures/sum/bsd_stdin.expected index 3cffc4337..4843ba082 100644 --- a/tests/fixtures/sum/bsd_stdin.expected +++ b/tests/fixtures/sum/bsd_stdin.expected @@ -1 +1 @@ -8109 1 +08109 1