Applied, thank you!
On Fri, Dec 5, 2025 at 11:41 PM Martin Storsjö <[email protected]> wrote: > > The output of md5sum/sha1sum contains a character to indicate > what mode was used to read the file - '*' for binary, and ' ' > for text or where binary is insignificant. > > This flag character makes a difference for the ffmpeg testsuite. > This testsuite contains a number of reference files (e.g. [1]), > containing the expected md5sum output for those files, which is > checked verbatim. > > By making busybox's md5sum honor this flag in the output, > ffmpeg's testsuite can run successfully on top of busybox. > > The flag is only partially implemented; in coreutils md5sum, > a later "-t" option overrides an earlier "-b" option. Here, > just check if a "-b" option was specified or not. Neither > flag affects how the files actually are read. > > [1] > https://code.ffmpeg.org/FFmpeg/FFmpeg/src/commit/894da5ca7d742e4429ffb2af534fcda0103ef593/tests/ref/acodec/flac > > Signed-off-by: Martin Storsjö <[email protected]> > --- > coreutils/md5_sha1_sum.c | 9 ++++++--- > testsuite/sha1sum.tests | 4 ++++ > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/coreutils/md5_sha1_sum.c b/coreutils/md5_sha1_sum.c > index 4506aeb56..3073ecddf 100644 > --- a/coreutils/md5_sha1_sum.c > +++ b/coreutils/md5_sha1_sum.c > @@ -159,6 +159,7 @@ enum { > #define FLAG_SILENT 1 > #define FLAG_CHECK 2 > #define FLAG_WARN 4 > +#define FLAG_BINARY 8 > > /* This might be useful elsewhere */ > static unsigned char *hash_bin_to_hex(unsigned char *hash_value, > @@ -277,13 +278,15 @@ int md5_sha1_sum_main(int argc UNUSED_PARAM, char > **argv) > { > unsigned char *in_buf; > int return_value = EXIT_SUCCESS; > - unsigned flags; > + unsigned flags = 0; > #if ENABLE_SHA3SUM > unsigned sha3_width = 224; > #endif > > if (ENABLE_FEATURE_MD5_SHA1_SUM_CHECK) { > - /* -b "binary", -t "text" are ignored (shaNNNsum compat) */ > + /* -b "binary", -t "text" are mostly ignored (shaNNNsum > compat); > + * the -b flag does set the '*' mode char in the output > though, but > + * the -t flag doesn't override it. */ > /* -s and -w require -c */ > #if ENABLE_SHA3SUM > if (applet_name[3] == HASH_SHA3 && (!ENABLE_SHA384SUM || > applet_name[4] != '8')) > @@ -375,7 +378,7 @@ int md5_sha1_sum_main(int argc UNUSED_PARAM, char **argv) > if (hash_value == NULL) { > return_value = EXIT_FAILURE; > } else { > - printf("%s %s\n", hash_value, *argv); > + printf("%s %c%s\n", hash_value, flags & > FLAG_BINARY ? '*' : ' ', *argv); > free(hash_value); > } > } > diff --git a/testsuite/sha1sum.tests b/testsuite/sha1sum.tests > index e6ddb2a86..76c7f8288 100755 > --- a/testsuite/sha1sum.tests > +++ b/testsuite/sha1sum.tests > @@ -9,6 +9,10 @@ testing "sha1sum: one-space separated input for -c" \ > 'echo "da39a3ee5e6b4b0d3255bfef95601890afd80709 EMPTY" | sha1sum -c' \ > "EMPTY: OK\n" \ > "" "" > +testing "sha1sum: -b flag in output" \ > + 'sha1sum -b EMPTY' \ > + "da39a3ee5e6b4b0d3255bfef95601890afd80709 *EMPTY\n" \ > + "" "" > SKIP= > rm EMPTY > > -- > 2.43.0 > > _______________________________________________ > busybox mailing list > [email protected] > https://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] https://lists.busybox.net/mailman/listinfo/busybox
