report unexpected EOF in inflate/gunzip

svn: r2190

original commit: 144b8d65933db914ba0b58515e071e5757fdf5ee
This commit is contained in:
Matthew Flatt 2006-02-10 21:42:31 +00:00
parent 7f7f4868ed
commit a3ea5d0f98

View File

@ -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)