shaNNNsum: accept one-space "HASH FILENAME" format for -c, closes 14866
function old new delta md5_sha1_sum_main 496 501 +5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
298ac9507b
commit
3ad3aa6441
@ -301,9 +301,7 @@ int md5_sha1_sum_main(int argc UNUSED_PARAM, char **argv)
|
||||
|
||||
count_total++;
|
||||
filename_ptr = strchr(line, ' ');
|
||||
if (filename_ptr == NULL
|
||||
|| (filename_ptr[1] != ' ' && filename_ptr[1] != '*')
|
||||
) {
|
||||
if (!filename_ptr) {
|
||||
if (flags & FLAG_WARN) {
|
||||
bb_simple_error_msg("invalid format");
|
||||
}
|
||||
@ -312,8 +310,13 @@ int md5_sha1_sum_main(int argc UNUSED_PARAM, char **argv)
|
||||
free(line);
|
||||
continue;
|
||||
}
|
||||
*filename_ptr = '\0';
|
||||
filename_ptr += 2;
|
||||
*filename_ptr++ = '\0';
|
||||
/* coreutils 9.1 allows "HASH FILENAME" format,
|
||||
* with only one space. Skip the 'correct'
|
||||
* " " or " *" delimiter if it is there:
|
||||
*/
|
||||
if (*filename_ptr == ' ' || *filename_ptr == '*')
|
||||
filename_ptr++;
|
||||
|
||||
hash_value = hash_file(in_buf, filename_ptr, sha3_width);
|
||||
|
||||
|
@ -1,3 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
. ./testing.sh
|
||||
|
||||
# testing "test name" "cmd" "expected result" "file input" "stdin"
|
||||
>EMPTY
|
||||
testing "sha1sum: one-space separated input for -c" \
|
||||
'echo "da39a3ee5e6b4b0d3255bfef95601890afd80709 EMPTY" | sha1sum -c' \
|
||||
"EMPTY: OK\n" \
|
||||
"" ""
|
||||
rm EMPTY
|
||||
|
||||
. ./md5sum.tests sha1sum d41337e834377140ae7f98460d71d908598ef04f
|
||||
|
Loading…
Reference in New Issue
Block a user