diff -durp textutils-2.1/doc/coreutils.texi textutils-2.1-custom/doc/coreutils.texi --- textutils-2.1/doc/coreutils.texi Sun Jul 28 16:40:29 2002 +++ textutils-2.1-custom/doc/coreutils.texi Fri Nov 8 15:06:06 2002 @@ -2714,6 +2714,16 @@ If all listed files are readable and are MD5 checksums, exit successfully. Otherwise exit with a status code indicating there was a failure. address@hidden -s address@hidden --suppress address@hidden -s address@hidden --suppress address@hidden suppressing filenames +Sometimes all you want is the checksum, without any indication of +the file from which it was derived. This option will suppress the +printing of the input file (or @samp{-} in the case of standard +input) and display only the checksum. + @item -t @itemx --text @opindex -t diff -durp textutils-2.1/src/md5sum.c textutils-2.1-custom/src/md5sum.c --- textutils-2.1/src/md5sum.c Tue Jul 2 15:15:06 2002 +++ textutils-2.1-custom/src/md5sum.c Fri Nov 8 13:42:44 2002 @@ -109,6 +109,7 @@ static const struct option long_options[ { "string", required_argument, 0, 1 }, { "text", no_argument, 0, 't' }, { "warn", no_argument, 0, 'w' }, + { "suppress", no_argument, 0, 's' }, { GETOPT_HELP_OPTION_DECL }, { GETOPT_VERSION_OPTION_DECL }, { NULL, 0, NULL, 0 } @@ -136,6 +137,7 @@ With no FILE, or when FILE is -, read st -b, --binary read files in binary mode (default on DOS/Windows)\n\ -c, --check check %s sums against given list\n\ -t, --text read files in text mode (default)\n\ + -s, --suppress only display sum, not the filename\n\ \n\ "), DIGEST_TYPE_STRING (algorithm)); @@ -491,6 +493,7 @@ main (int argc, char **argv) char **string = NULL; size_t n_strings = 0; size_t err = 0; + int suppress_filename = 0; int file_type_specified = 0; #if O_BINARY @@ -540,6 +543,9 @@ main (int argc, char **argv) file_type_specified = 1; binary = 0; break; + case 's': + suppress_filename = 1; + break; case 'w': status_only = 0; warn = 1; @@ -641,6 +647,8 @@ verifying checksums")); for (i = 0; i < (digest_hex_bytes / 2); ++i) printf ("%02x", bin_buffer[i]); + if (!suppress_filename) + { putchar (' '); if (binary) putchar ('*'); @@ -666,6 +674,7 @@ verifying checksums")); break; } } + } putchar ('\n'); } } diff -durp textutils-2.1/tests/md5sum/basic-1 textutils-2.1-custom/tests/md5sum/basic-1 --- textutils-2.1/tests/md5sum/basic-1 Fri Jul 16 02:13:47 1999 +++ textutils-2.1-custom/tests/md5sum/basic-1 Fri Nov 8 13:46:24 2002 @@ -34,6 +34,8 @@ my @Tests = {OUT=>"d174ab98d277d9f5a5611c2c9f419d9f f\n"}], ['7', {IN=> {f=> '1234567890' x 8}}, {OUT=>"57edf4a22be3c955ac49da2e2107b67a f\n"}], + ['8', '--suppress', {IN=> {f=> '1234567890' x 8}}, + {OUT=>"57edf4a22be3c955ac49da2e2107b67a\n"}], ['backslash', {IN=> {".\\foo"=> ''}}, {OUT=>"\\$degenerate .\\\\foo\n"}], ); diff -durp textutils-2.1/tests/md5sum/newline-1 textutils-2.1-custom/tests/md5sum/newline-1 --- textutils-2.1/tests/md5sum/newline-1 Sun Jul 2 02:45:31 2000 +++ textutils-2.1-custom/tests/md5sum/newline-1 Fri Nov 8 13:47:46 2002 @@ -42,6 +42,8 @@ my $t = '--text'; my @Tests = ( ['newline', $t, {IN=> {"a\nb"=> ''}}, {OUT=>"\\$degenerate a\\nb\n"}], + ['suppress', "--suppress $t", + {IN=> {"a\nb"=> ''}}, {OUT=>"\\$degenerate\n"}], ); my $save_temps = $ENV{DEBUG};