From f5fc1a597ceca8125c29d2df0bcc9b6e2745bf7c Mon Sep 17 00:00:00 2001 From: Dorian Peron Date: Fri, 6 Feb 2026 03:39:33 +0100 Subject: [PATCH] try fix sha256sum --- .../src/lib/features/checksum/validate.rs | 46 +++++++++++-------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/src/uucore/src/lib/features/checksum/validate.rs b/src/uucore/src/lib/features/checksum/validate.rs index 7fede1c4978..7f522b7991a 100644 --- a/src/uucore/src/lib/features/checksum/validate.rs +++ b/src/uucore/src/lib/features/checksum/validate.rs @@ -683,26 +683,32 @@ fn compute_and_check_digest_from_file( // Set binary to false because --binary is not supported with --check - let (calculated_checksum, _) = - match digest_reader(&mut digest, &mut file_reader, ReadingMode::Text) { - Ok(result) => result, - Err(err) => { - show!(err.map_err_context(|| { - locale_aware_escape_name(&real_filename_to_check, QuotingStyle::SHELL_ESCAPE) - .to_string_lossy() - .to_string() - })); - - write_file_report( - io::stdout(), - filename, - FileChecksumResult::CantOpen, - prefix, - opts.verbose, - ); - return Err(LineCheckError::CantOpenFile); - } - }; + let reading_mode = if cfg!(not(unix)) { + ReadingMode::Binary + } else { + ReadingMode::Text + }; + + let (calculated_checksum, _) = match digest_reader(&mut digest, &mut file_reader, reading_mode) + { + Ok(result) => result, + Err(err) => { + show!(err.map_err_context(|| { + locale_aware_escape_name(&real_filename_to_check, QuotingStyle::SHELL_ESCAPE) + .to_string_lossy() + .to_string() + })); + + write_file_report( + io::stdout(), + filename, + FileChecksumResult::CantOpen, + prefix, + opts.verbose, + ); + return Err(LineCheckError::CantOpenFile); + } + }; // Do the checksum validation let checksum_correct = match calculated_checksum {