COMPRESS-445 can't use decoder after stream has been exhausted

Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/b8f7d772
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/b8f7d772
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/b8f7d772

Branch: refs/heads/master
Commit: b8f7d772c96b0d1fa3b7a82c741d336d052940b2
Parents: d6b07a1
Author: Stefan Bodewig <bode...@apache.org>
Authored: Sun Apr 22 19:54:50 2018 +0200
Committer: Stefan Bodewig <bode...@apache.org>
Committed: Sun Apr 22 19:54:50 2018 +0200

----------------------------------------------------------------------
 .../compressors/deflate64/Deflate64CompressorInputStream.java    | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-compress/blob/b8f7d772/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java
 
b/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java
index 36b8a83..a0efd35 100644
--- 
a/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java
+++ 
b/src/main/java/org/apache/commons/compress/compressors/deflate64/Deflate64CompressorInputStream.java
@@ -34,6 +34,7 @@ import static 
org.apache.commons.compress.utils.IOUtils.closeQuietly;
 public class Deflate64CompressorInputStream extends CompressorInputStream 
implements InputStreamStatistics {
     private InputStream originalStream;
     private HuffmanDecoder decoder;
+    private long compressedBytesRead;
     private final byte[] oneByte = new byte[1];
 
     /**
@@ -78,6 +79,7 @@ public class Deflate64CompressorInputStream extends 
CompressorInputStream implem
         int read = -1;
         if (decoder != null) {
             read = decoder.decode(b, off, len);
+            compressedBytesRead = decoder.getBytesRead();
             count(read);
             if (read == -1) {
                 closeDecoder();
@@ -105,7 +107,7 @@ public class Deflate64CompressorInputStream extends 
CompressorInputStream implem
      */
     @Override
     public long getCompressedCount() {
-        return decoder.getBytesRead();
+        return compressedBytesRead;
     }
 
     /**

Reply via email to