From the description of port-eof? in R6RS it seems like port-eof? should not
return #f when lookahead-u8 will return the end of file object. So this program
should not print its message, but it does:
Ypsilon 0.9.6-trunk/r503 Copyright (c) 2009 Y.Fujita, LittleWing Company
Limited.
> (import (socket))
> (let ((p (socket-port (make-client-socket "www.example.com" "80"))))
(put-bytevector p
(string->utf8
(string-append "GET / HTTP/1.1\r\n"
"Host: www.example.com:80"
"Connection: close\r\n"
"\r\n\r\n")))
(flush-output-port p)
(let lp ()
(unless (port-eof? p)
(cond ((eof-object? (lookahead-u8 p))
(display "end of file returned even though port-eof? was false.\n"))
(else
(get-u8 p)
(lp)))))
(close-port p))
end of file returned even though port-eof? was false.
>
Original issue reported on code.google.com by weinh...@gmail.com on 22 Jul 2010 at 6:50
Original issue reported on code.google.com by
weinh...@gmail.com
on 22 Jul 2010 at 6:50