As required by SUSv3, a file argument of "-" causes standard input

to be compressed/decompressed to standard output.
This commit is contained in:
Tim J. Robbins 2002-05-17 01:42:43 +00:00
parent b635dacd57
commit b477159065
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=96772
2 changed files with 13 additions and 3 deletions

View File

@ -79,8 +79,11 @@ output) for confirmation.
If prompting is not possible or confirmation is not received, the files
are not overwritten.
.Pp
If no files are specified, the standard input is compressed or uncompressed
to the standard output.
If no files are specified or a
.Ar file
argument is a single dash
.Pq Ql - ,
the standard input is compressed or uncompressed to the standard output.
If either the input and output files are not regular files, the checks for
reduction in size and file overwriting are not performed, the input file is
not removed, and the attributes of the input file are not retained.

View File

@ -140,7 +140,10 @@ main(argc, argv)
for (; *argv; ++argv)
switch(style) {
case COMPRESS:
if (cat) {
if (strcmp(*argv, "-") == 0) {
compress("/dev/stdin", "/dev/stdout", bits);
break;
} else if (cat) {
compress(*argv, "/dev/stdout", bits);
break;
}
@ -162,6 +165,10 @@ main(argc, argv)
compress(*argv, newname, bits);
break;
case DECOMPRESS:
if (strcmp(*argv, "-") == 0) {
decompress("/dev/stdin", "/dev/stdout", bits);
break;
}
len = strlen(*argv);
if ((p = rindex(*argv, '.')) == NULL ||
strcmp(p, ".Z")) {