Skip to content

Commit

Permalink
compress: Allow uncompress -c with multiple pathnames, as required by…
Browse files Browse the repository at this point in the history
… POSIX.

Per POSIX, allow passing multiple pathnames to uncompress -c, concatenating
the uncompressed data.

Passing multiple pathnames to compress -c remains disallowed, since the
result cannot be decompressed.

PR:		219387
Reported by:	Jörg Schilling
  • Loading branch information
jillest committed May 21, 2017
1 parent fd1c67e commit f084f76
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion usr.bin/compress/compress.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ main(int argc, char *argv[])
exit (eval);
}

if (cat == 1 && argc > 1)
if (cat == 1 && style == COMPRESS && argc > 1)
errx(1, "the -c option permits only a single file argument");

for (; *argv; ++argv)
Expand Down
22 changes: 22 additions & 0 deletions usr.bin/compress/tests/compress_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,27 @@ compress_uncompress_file_2_body()
atf_check cmp file2 expectfile2
}

atf_test_case compress_uncompress_file_minusc_1
compress_uncompress_file_minusc_1_head()
{
atf_set "descr" \
"Test compressing and uncompressing some data, passing two filenames to uncompress -c"
}
compress_uncompress_file_minusc_1_body()
{
printf '%01000d\n' 7 8 >expectfile1
printf '%01000d\n' 8 7 >expectfile2
cp expectfile1 file1
cp expectfile2 file2
atf_check compress file1 file2
atf_check -s exit:1 cmp -s file1.Z expectfile1
atf_check -s exit:1 cmp -s file2.Z expectfile2
atf_check -s exit:1 cmp -s file1.Z file2.Z
atf_check -x 'uncompress -c file1.Z file2.Z >all'
atf_check -x 'cat expectfile1 expectfile2 >expectall'
atf_check cmp all expectall
}

atf_init_test_cases()
{
atf_add_test_case uncompress_file_1
Expand All @@ -171,4 +192,5 @@ atf_init_test_cases()
atf_add_test_case compress_uncompress_minusc_1
atf_add_test_case compress_uncompress_file_1
atf_add_test_case compress_uncompress_file_2
atf_add_test_case compress_uncompress_file_minusc_1
}

0 comments on commit f084f76

Please sign in to comment.