make-input-port problem added by sethalves on Fri May 16 20:26:13 2014

#! /bin/sh
#| -*- scheme -*-
exec csi -s $0 "$@"
|#

;; dd if=/dev/zero of=/tmp/ok bs=3075 count=1

(use srfi-4)
(use ports)

(define (read-bytevectorx! bv read-port)
  (read-u8vector! #f bv read-port))

(let* ((bv (make-u8vector 1024))
       (read-port (open-input-file "/tmp/ok"))
       (pd (make-input-port
            (lambda () (read-char read-port))
            (lambda () (char-ready? read-port))
            (lambda () (close-input-port read-port))))
       )

  (let loop ()
    (let ((got
           (read-bytevectorx! bv pd)
           ;; (read-u8vector! #f bv read-port)
           ))
      (display got)
      (newline)
      (if (> got 0) (loop)))))