report unexpected EOF in inflate/gunzip

svn: r2190
This commit is contained in:
Matthew Flatt 2006-02-10 21:42:31 +00:00
parent 4d0e4c1082
commit 144b8d6593

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)