diff --git a/lib/chibi/tar.scm b/lib/chibi/tar.scm index 188ef5d2..358222f0 100644 --- a/lib/chibi/tar.scm +++ b/lib/chibi/tar.scm @@ -73,10 +73,12 @@ ;; fundamental iterator (define (tar-fold src kons knil) - (let ((in (if (string? src) (open-binary-input-file src) src))) + (let ((in (cond ((string? src) (open-binary-input-file src)) + ((bytevector? src) (open-input-bytevector src)) + (else src)))) (let lp ((acc knil)) (cond - ((eof-object? (peek-char in)) + ((eof-object? (peek-u8 in)) (close-input-port in) acc) (else