From 9a464e002e5413e6e43cf4a0c127a2d24c3c5707 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 5 Mar 2020 23:00:20 -0500 Subject: [PATCH] Bugfix - Allow read-bytevector to return EOF --- scheme/base.sld | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/scheme/base.sld b/scheme/base.sld index f43b06c4..a34d69ba 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -709,11 +709,6 @@ (if (null? port) (Cyc-display str (current-output-port)) (Cyc-display str (car port)))) - (define (read-bytevector k . _port) - (let ((port (if (null? _port) - (current-input-port) - (car _port)))) - 'test)) (define (read-bytevector k . _port) (letrec ((port (if (null? port) (current-input-port) @@ -723,7 +718,9 @@ (let ((b (read-u8 port))) (cond ((eof-object? b) - (bytevector-copy bv 0 n)) + (if (zero? n) + b ;; EOF + (bytevector-copy bv 0 n))) ((< n k) (bytevector-u8-set! bv n b) (loop (+ n 1)))