Correct read-bytevector logic for small reads

This commit is contained in:
Vasilij Schneidermann 2024-03-18 02:06:27 +01:00
parent d0e6dc7556
commit 1b1e8b311b

View file

@ -135,9 +135,11 @@
(if (zero? n)
#u8()
(let ((in (if (pair? o) (car o) (current-input-port)))
(res (make-bytevector n)))
(read-bytevector! res in)
res)))
(vec (make-bytevector n))
(res (read-bytevector! vec in)))
(cond ((eof-object? res) res)
((< res n) (subbytes vec 0 i))
(else res)))))
(define (read-bytevector! vec . o)
(let* ((in (if (pair? o) (car o) (current-input-port)))