Merge pull request #3052 from dirkmueller/gzip_keep
Keep original file if -c or --stdout is givendev
commit
f229daaf42
|
@ -1,5 +1,5 @@
|
|||
.
|
||||
.TH "ZSTD" "1" "January 2022" "zstd 1.5.2" "User Commands"
|
||||
.TH "ZSTD" "1" "February 2022" "zstd 1.5.2" "User Commands"
|
||||
.
|
||||
.SH "NAME"
|
||||
\fBzstd\fR \- zstd, zstdmt, unzstd, zstdcat \- Compress or decompress \.zst files
|
||||
|
@ -165,7 +165,7 @@ Additionally, this can be used to limit memory for dictionary training\. This pa
|
|||
\fB\-f\fR, \fB\-\-force\fR: disable input and output checks\. Allows overwriting existing files, input from console, output to stdout, operating on links, block devices, etc\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fB\-c\fR, \fB\-\-stdout\fR: write to standard output (even if it is the console)
|
||||
\fB\-c\fR, \fB\-\-stdout\fR: write to standard output (even if it is the console); keep original files unchanged\.
|
||||
.
|
||||
.IP "\(bu" 4
|
||||
\fB\-\-[no\-]sparse\fR: enable / disable sparse FS support, to make files with many zeroes smaller on disk\. Creating sparse files may save disk space and speed up decompression by reducing the amount of disk I/O\. default: enabled when output is into a file, and disabled when output is stdout\. This setting overrides default and can force sparse mode over stdout\.
|
||||
|
|
|
@ -212,7 +212,7 @@ the last one takes effect.
|
|||
disable input and output checks. Allows overwriting existing files, input
|
||||
from console, output to stdout, operating on links, block devices, etc.
|
||||
* `-c`, `--stdout`:
|
||||
write to standard output (even if it is the console)
|
||||
write to standard output (even if it is the console); keep original files unchanged.
|
||||
* `--[no-]sparse`:
|
||||
enable / disable sparse FS support,
|
||||
to make files with many zeroes smaller on disk.
|
||||
|
|
|
@ -178,7 +178,7 @@ static void usage_advanced(const char* programName)
|
|||
DISPLAYOUT( "Advanced arguments : \n");
|
||||
DISPLAYOUT( " -V : display Version number and exit \n");
|
||||
|
||||
DISPLAYOUT( " -c : write to standard output (even if it is the console) \n");
|
||||
DISPLAYOUT( " -c : write to standard output (even if it is the console), keep original file \n");
|
||||
|
||||
DISPLAYOUT( " -v : verbose mode; specify multiple times to increase verbosity \n");
|
||||
DISPLAYOUT( " -q : suppress warnings; specify twice to suppress errors too \n");
|
||||
|
@ -925,7 +925,7 @@ int main(int argCount, const char* argv[])
|
|||
if (!strcmp(argument, "--help")) { usage_advanced(programName); CLEAN_RETURN(0); }
|
||||
if (!strcmp(argument, "--verbose")) { g_displayLevel++; continue; }
|
||||
if (!strcmp(argument, "--quiet")) { g_displayLevel--; continue; }
|
||||
if (!strcmp(argument, "--stdout")) { forceStdout=1; outFileName=stdoutmark; g_displayLevel-=(g_displayLevel==2); continue; }
|
||||
if (!strcmp(argument, "--stdout")) { forceStdout=1; outFileName=stdoutmark; FIO_setRemoveSrcFile(prefs, 0); g_displayLevel-=(g_displayLevel==2); continue; }
|
||||
if (!strcmp(argument, "--ultra")) { ultra=1; continue; }
|
||||
if (!strcmp(argument, "--check")) { FIO_setChecksumFlag(prefs, 2); continue; }
|
||||
if (!strcmp(argument, "--no-check")) { FIO_setChecksumFlag(prefs, 0); continue; }
|
||||
|
@ -1114,7 +1114,7 @@ int main(int argCount, const char* argv[])
|
|||
operation=zom_decompress; argument++; break;
|
||||
|
||||
/* Force stdout, even if stdout==console */
|
||||
case 'c': forceStdout=1; outFileName=stdoutmark; argument++; break;
|
||||
case 'c': forceStdout=1; outFileName=stdoutmark; FIO_setRemoveSrcFile(prefs, 0); argument++; break;
|
||||
|
||||
/* do not store filename - gzip compatibility - nothing to do */
|
||||
case 'n': argument++; break;
|
||||
|
@ -1279,7 +1279,7 @@ int main(int argCount, const char* argv[])
|
|||
}
|
||||
|
||||
nbInputFileNames = filenames->tableSize; /* saving number of input files */
|
||||
|
||||
|
||||
if (recursive) { /* at this stage, filenameTable is a list of paths, which can contain both files and directories */
|
||||
UTIL_expandFNT(&filenames, followLinks);
|
||||
}
|
||||
|
@ -1392,7 +1392,7 @@ int main(int argCount, const char* argv[])
|
|||
}
|
||||
UTIL_refFilename(filenames, stdinmark);
|
||||
}
|
||||
|
||||
|
||||
if (!strcmp(filenames->fileNames[0], stdinmark) && !outFileName)
|
||||
outFileName = stdoutmark; /* when input is stdin, default output is stdout */
|
||||
|
||||
|
|
|
@ -24,6 +24,10 @@ zstd -c file | zstd -t
|
|||
zstd --stdout file | zstd -t
|
||||
println bob | zstd | zstd -t
|
||||
|
||||
# Test keeping input file when compressing to stdout in gzip mode
|
||||
$ZSTD_SYMLINK_DIR/gzip -c file | zstd -t ; test -f file
|
||||
$ZSTD_SYMLINK_DIR/gzip --stdout file | zstd -t ; test -f file
|
||||
|
||||
# Test --rm
|
||||
cp file file-rm
|
||||
zstd --rm file-rm; zstd -t file-rm.zst
|
||||
|
|
Loading…
Reference in New Issue