aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/klauspost/pgzip/gunzip.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/klauspost/pgzip/gunzip.go')
-rw-r--r--vendor/github.com/klauspost/pgzip/gunzip.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/vendor/github.com/klauspost/pgzip/gunzip.go b/vendor/github.com/klauspost/pgzip/gunzip.go
index d1ae730b2..3c4b32f16 100644
--- a/vendor/github.com/klauspost/pgzip/gunzip.go
+++ b/vendor/github.com/klauspost/pgzip/gunzip.go
@@ -513,6 +513,19 @@ func (z *Reader) Read(p []byte) (n int, err error) {
func (z *Reader) WriteTo(w io.Writer) (n int64, err error) {
total := int64(0)
+ avail := z.current[z.roff:]
+ if len(avail) != 0 {
+ n, err := w.Write(avail)
+ if n != len(avail) {
+ return total, io.ErrShortWrite
+ }
+ total += int64(n)
+ if err != nil {
+ return total, err
+ }
+ z.blockPool <- z.current
+ z.current = nil
+ }
for {
if z.err != nil {
return total, z.err