aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-11-09 12:48:22 +0200
committerLasse Collin <lasse.collin@tukaani.org>2022-11-11 13:48:06 +0200
commit3ee411cd1cd636bdced6ecede4651394bb4f9cb1 (patch)
tree07138451ac4fb03b6d8a6f8ccde922d874dd9821
parentxz: Add a comment why --to-stdout is not in --help. (diff)
downloadxz-3ee411cd1cd636bdced6ecede4651394bb4f9cb1.tar.xz
xz: Fix displaying of file sizes in progress indicator in passthru mode.
It worked for one input file since the counters are zero when xz starts but they weren't reset when starting a new file in passthru mode. For example, if files A, B, and C are one byte each, then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes instead of 1, 1, and 1 byte.
-rw-r--r--src/xz/coder.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/xz/coder.c b/src/xz/coder.c
index 51cd3ef0..f952e80d 100644
--- a/src/xz/coder.c
+++ b/src/xz/coder.c
@@ -513,8 +513,12 @@ coder_init(file_pair *pair)
// is needed, because we don't want to do use
// passthru mode with --test.
if (opt_mode == MODE_DECOMPRESS
- && opt_stdout && opt_force)
+ && opt_stdout && opt_force) {
+ // These are needed for progress info.
+ strm.total_in = 0;
+ strm.total_out = 0;
return CODER_INIT_PASSTHRU;
+ }
ret = LZMA_FORMAT_ERROR;
break;