report unexpected EOF in inflate/gunzip
svn: r2190 original commit: 144b8d65933db914ba0b58515e071e5757fdf5ee
This commit is contained in:
parent
7f7f4868ed
commit
a3ea5d0f98
|
@ -246,12 +246,14 @@
|
|||
(define (NEEDBITS n)
|
||||
(when (< bk n)
|
||||
(let ([v (peek-byte input-port peeked)])
|
||||
(unless (eof-object? v)
|
||||
(set! bb (+ bb (arithmetic-shift v bk)))
|
||||
;; assume that lookahead never needs more than 32 bytes:
|
||||
(if (peeked . < . 32)
|
||||
(set! peeked (add1 peeked))
|
||||
(read-byte input-port))))
|
||||
(if (eof-object? v)
|
||||
(error 'inflate "unexpected end of file")
|
||||
(begin
|
||||
(set! bb (+ bb (arithmetic-shift v bk)))
|
||||
;; assume that lookahead never needs more than 32 bytes:
|
||||
(if (peeked . < . 32)
|
||||
(set! peeked (add1 peeked))
|
||||
(read-byte input-port)))))
|
||||
(set! bk (+ bk 8))
|
||||
(NEEDBITS n)))
|
||||
(define (DUMPBITS n)
|
||||
|
|
Loading…
Reference in New Issue
Block a user