mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
lzlib: 'make-lzip-input-port' better handles end of decompression.
Suggested by Pierre Neidhardt <mail@ambrevar.xyz>. * guix/lzlib.scm (lzread!): Call 'lz-decompress-finish' when 'feed-decoder!' returns EOF. Call 'lz-decompress-finished?' to determine end of compression.
This commit is contained in:
parent
b6cf7e54ea
commit
87399dfc20
1 changed files with 7 additions and 3 deletions
|
@ -510,9 +510,13 @@ (define (feed-decoder! decoder)
|
|||
(start start))
|
||||
(cond ((< read count)
|
||||
(match (lz-decompress-read decoder bv start (- count read))
|
||||
(0 (if (eof-object? (feed-decoder! decoder))
|
||||
read
|
||||
(loop read start)))
|
||||
(0 (cond ((lz-decompress-finished? decoder)
|
||||
read)
|
||||
((eof-object? (feed-decoder! decoder))
|
||||
(lz-decompress-finish decoder)
|
||||
(loop read start))
|
||||
(else ;read again
|
||||
(loop read start))))
|
||||
(n (loop (+ read n) (+ start n)))))
|
||||
(else
|
||||
read))))
|
||||
|
|
Loading…
Reference in a new issue