Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions src/uu/comm/src/comm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,18 @@ impl OrderChecker {
}

let is_ordered = *current_line >= *self.last_line;
if !is_ordered && !self.has_error {
// Print file-level warnings only if --check-order was explicitly passed
// (in default mode, these are printed later in the final error reporting)
if !is_ordered && !self.has_error && self.check_order {
let _ = writeln!(
stderr(),
"{}",
translate!("comm-error-file-not-sorted", "file_num" => self.file_num.as_str())
);
}

// Always mark that we have an error, regardless of check_order flag
if !is_ordered && !self.has_error {
Comment on lines +116 to +127
self.has_error = true;
}

Expand Down Expand Up @@ -315,8 +321,15 @@ fn comm(
.map_err_context(|| translate!("comm-error-write"))?;

if should_check_order && (checker1.has_error || checker2.has_error) {
// Print the input error message once at the end
if input_error {
// In default mode, print file-level errors and general message
// In explicit check-order mode, file-level errors were already printed by verify_order
if !check_order {
if checker1.has_error {
let _ = writeln!(stderr(), "comm: file 1 is not in sorted order");
}
if checker2.has_error {
let _ = writeln!(stderr(), "comm: file 2 is not in sorted order");
Comment on lines +328 to +331
}
let _ = writeln!(stderr(), "{}", translate!("comm-error-input-not-sorted"));
}
Err(USimpleError::new(1, ""))
Expand Down
Loading