| 1 | #! /bin/sh
|
|---|
| 2 | #| -*- scheme -*-
|
|---|
| 3 | exec csi -s $0 "$@"
|
|---|
| 4 | |#
|
|---|
| 5 |
|
|---|
| 6 | ;; dd if=/dev/zero of=/tmp/ok bs=3075 count=1
|
|---|
| 7 |
|
|---|
| 8 | (use srfi-4)
|
|---|
| 9 | (use ports)
|
|---|
| 10 |
|
|---|
| 11 | (define (read-bytevectorx! bv read-port)
|
|---|
| 12 | (read-u8vector! #f bv read-port))
|
|---|
| 13 |
|
|---|
| 14 | (let* ((bv (make-u8vector 1024))
|
|---|
| 15 | (read-port (open-input-file "/tmp/ok"))
|
|---|
| 16 | (pd (make-input-port
|
|---|
| 17 | (lambda () (read-char read-port))
|
|---|
| 18 | (lambda () (char-ready? read-port))
|
|---|
| 19 | (lambda () (close-input-port read-port)))))
|
|---|
| 20 |
|
|---|
| 21 | (let loop ()
|
|---|
| 22 | (let ((got (read-bytevectorx! bv pd)))
|
|---|
| 23 | (display got)
|
|---|
| 24 | (newline)
|
|---|
| 25 | (if (> got 0) (loop)))))
|
|---|
| 26 |
|
|---|